<tr>
<td width="20" align="center" class="text_red">*</td>
<td width="100" height="40" align="left" class="text_cray1">真实姓名:</td>
<td width="14"></td>
<td colspan="3" align="left"><input name="realname" type="text" class="text_cray" id="realname" /></td>
</tr>
private void doAdminAdd(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//请输入新增用户代码
User user = new User();
populate(request, user);
user.setPassword("123456");
user.setStatus("1");
// 服务器端验证
String msg = validate(user);
if (TextUtils.isEmpty(msg)) {
// 调用Service方法
UserService userService = UserService.getInstance();
// 检查用户名是否重复
User tmp = new User();
tmp.setUsername(user.getUsername());
User dbUser = userService.findUser(tmp);
if (dbUser == null) {
// MD5
user.setPassword(Md5Utils.md5(user.getPassword()));
userService.addUser(user);
msg = "注册成功";
} else {
msg = "用户名重复";
}
}
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>" + msg + "</p>");
out.println("</body>");
out.println("</html>");
out.close();
}
public static Boolean isContainsChinese(String str){
String regEx = "[\u4e00-\u9fa5]";
Pattern pat = Pattern.compile(regEx);
Matcher matcher = pat.matcher(str);
boolean flg = false;
if (matcher.find()) {
flg = true;
}
return flg;
}
用正则表达式验证就行了,可以用^[\u4e00-\u9fa5]+$来匹配汉字,如:
<input type="text" onchange="javascript:if(!/^[\u4e00-\u9fa5]+$/gi.test(this.value))alert('含有非汉字字符');">
这是前台添加用户后台验证啊??
后台加这么一句,通过request获取
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
前台加这么一句,设置语言
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
求各位欸大神给出具体代码
js代码如下:
function testChineseName(name)
{
if(/^[\u0391-\uFFE5]+$/.test(name))
{
alert("都是汉字");
}
else
{
alert("不是汉字");
}
}