Pattern pa = Pattern.compile("^[0-9a-zA-Z_\u4e00-\u9fa5]+$");
Matcher m = null;
m = pa.matcher((String) request.getParameter("username"));
boolean flag = m.matches(); if (flag == false) {
out.println("用户名必须由:大小写英文,汉字,数字组成,请重新注册");
return;
}
名字输入 中国ghyghost123就提示出错,,,,按理说这个网名是正确的,怎么改正则?感谢
Matcher m = null;
m = pa.matcher((String) request.getParameter("username"));
boolean flag = m.matches(); if (flag == false) {
out.println("用户名必须由:大小写英文,汉字,数字组成,请重新注册");
return;
}
名字输入 中国ghyghost123就提示出错,,,,按理说这个网名是正确的,怎么改正则?感谢
fosjos(无聊的菜鸟程序员) 还是不行,有中文就出错了,,,airhork(张逍)
没有错?我这有错,您再帮看看,测试一下
你输入中文看一看
http://www.regexlab.com/zh/workshop.asp?pat=%5E%5B0-9a-zA-Z_%5Cu4e00-%5Cu9fa5%5D%2B%24&txt=%u4E2D%u56FDghyghost123&dlt=0只不过,当写成 java 代码的时候,需要如 fosjos(无聊的菜鸟程序员) 兄所说:
"^[0-9a-zA-Z_\\u4e00-\\u9fa5]+$"
你用eclipse吗, 我也在找这个设置,编译和输出必须一致
我找到答案了,就是针对每一个变量进行转码,这样非常麻烦,如果上一个JSP页传进来100变量,就得在当前的页面中转换100个变量
使用过滤器倒是不错的选择,,但是我使用的是虚拟主机,,好像让服务商改tomcat的配置文件不太可能。
找办法啊?????????????????????????????
确定了这两个后,再在eclipse里面找到Properties或用(alt+enter), 有个test file encoding, 把它设置为gb2312,再试试看。