js验证表单中,真实姓名一般为中文,我怎么能让中文一个字为两个字符。。
这是我的代码:
$("#realnamebox").blur(function(){$("#realname_ok").hide(); $("#realname_tip").hide();$("#realname").removeClass("showtip");
var realnamebox = $.trim($("#realnamebox").val());
if(this.value=="")
{$("#realname_error").hide(); realname_bl=false; return false;
}else if(/[^\u4E00-\u9FA5a-zA-Z]/.test(realnamebox))
{$("#realname_error").html("真实姓名只能输入中文或字母").fadeIn("slow"); return false; }else if(realnamebox.length<5|| realnamebox.length>20){$("#realname_error").html("合法长度为5~20个字符").fadeIn("slow");
return false;
}else{$("#realname_error").hide();$("#realname_ok").show(); realname_bl=true; return true;} })
验证中文姓名正则表达式:^[\u4e00-\u9fa5]{2,4}$
Astar回答了输入2个或者4个中文字符的正则
不过要想真正实现名称光凭这个还是不成的...比如最简单的,如果填入的名字是脏话,Astar的是可以验证通过的,所以这里需要做更多的限制才可以的。比如第一个字必须为百家姓中的姓,第二个字不可以为一些脏语词,这个都需要做限制的...
另外Astar限制的2到4个中文字也不全,比如少数名族的姓这个就没办法匹配,比如 叶赫拉拉.杏贞 这样子的名字都是没办法匹配的
具体的解决办法还需要借助后台程序的...相关资源你可以搜索 SNS 判断中文姓名 相关的