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 的值没有了+ % & 这些字符。请问怎么能够全部保存下来??(不是去掉特殊字符,而是全部保存)
展开
 我来答
王大前12138
高粉答主

2018-04-18 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:98
采纳率:100%
帮助的人:2.4万
展开全部

“.” 是特殊字符,正确表示应该是“\\.”。

  1. 另外还有replace ,replaceAll ,这两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是

    (    [     {    \    ^    -    $     **    }    ]    )    ?    *    +    .     

  2. 转义时可以采用两种方式: 

  • 正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。 

  • 在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。

  • 若想表示一个“\”,在 Java 代码中需要使用“\\\\”。

Forrest_brm
推荐于2017-11-21 · TA获得超过327个赞
知道小有建树答主
回答量:217
采纳率:100%
帮助的人:251万
展开全部
这个过程叫转义。
val = "@123+abc%A&B";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在数据库保存时,只要转义单引号,&,| ,?,可能还有遇到再补充吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好汉饶命吧
2015-09-10 · TA获得超过250个赞
知道小有建树答主
回答量:233
采纳率:75%
帮助的人:108万
展开全部
全部转成String类型存入就可以了,数据库可以直接接收
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一览乌云518
2015-09-10 · TA获得超过147个赞
知道答主
回答量:312
采纳率:0%
帮助的人:69.1万
展开全部
js里用正则表达式验证就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
进击熊孩子
2015-09-10 · TA获得超过190个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:66.3万
展开全部
前台进行编码使用encodeURIComponent
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式