java特殊字符处理
请问jsp页面密码输入框有特殊字符,如:密码@123+abc%A&B在后台java类中怎样接收并保存到数据库?不是过滤和替换。jsp页面如图,val的值:密码@123+a...
请问jsp页面密码输入框有特殊字符,如:密码@123+abc%A&B 在后台java类中怎样接收并保存到数据库?不是过滤和替换。
jsp页面如图,val的值: 密码@123+abc%A&B
在java中接收 String val2=URLDecoder.decode(URLDecoder.decode(val, "UTF-8"), "UTF-8");
val2 的值没有了+ % & 这些字符。请问怎么能够全部保存下来??(不是去掉特殊字符,而是全部保存) 展开
jsp页面如图,val的值: 密码@123+abc%A&B
在java中接收 String val2=URLDecoder.decode(URLDecoder.decode(val, "UTF-8"), "UTF-8");
val2 的值没有了+ % & 这些字符。请问怎么能够全部保存下来??(不是去掉特殊字符,而是全部保存) 展开
6个回答
展开全部
“.” 是特殊字符,正确表示应该是“\\.”。
另外还有replace ,replaceAll ,这两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是
( [ { \ ^ - $ ** } ] ) ? * + .
转义时可以采用两种方式:
正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。
在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。
若想表示一个“\”,在 Java 代码中需要使用“\\\\”。
展开全部
这个过程叫转义。
val = "@123+abc%A&B";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在数据库保存时,只要转义单引号,&,| ,?,可能还有遇到再补充吧
val = "@123+abc%A&B";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在数据库保存时,只要转义单引号,&,| ,?,可能还有遇到再补充吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全部转成String类型存入就可以了,数据库可以直接接收
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
js里用正则表达式验证就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前台进行编码使用encodeURIComponent
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询