如题所述
第1个回答 2016-06-27
我这是匹配字母、数字、下划线、邮箱、手机号的,你把数字那部分的正则改一下,改成匹配汉字,就可以了;【汉字的正则,百度一下,能查到】
1.1验证邮箱;function _emailErr(v)
{
if(!/@|\./.test(v)) return false ;
return _email=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(v)?false:true;
}
1.2验证手机的
function _phoneErr(v)
{
if(!/^\d{11}$/.test(v)) return false ;
return /^(1[3|4|5|8][0-9]|147)\d{8}$/.test(v)?false:true;
}
1.3验证字母、数字、下划线的【你上百度搜一下,替换成你需要的汉字正则即可】
function _nameErr(v)
{
// 如果是手机号码则跳过
if(/^\d{11}$/.test(v)) return false ;
return /^[a-zA-Z][a-zA-Z0-9_]{5,20}$/.test(v)?false:true;
}
1.4判断是否为空的;
function _isnull(v)
{
return (typeof v == 'undefined' || v==null || /^\s*$/.test(v))?true:false;
}
1.5长度判断,最大、最小随便给;
function _lenErr(v)
{
var _min = 6 ,_max = 20 ;
return (v.length<_min || v.length>_max)?true:false;
}
上面是小的验证方法,下面是组合起来,判断用户名的:下面有小技巧,慢慢学习吧
function _chackUserName()
{
var username=$('#username'),uv=username.val();
_oknum = 0 ,_email=true;
//1.用户名的判断
if(_isnull(uv))
{
_err(username,'用户名不能为空');
return false ;
}
if(uv.split('@').length>1 && _emailErr(uv))
{
_err(username,'电子邮箱格式错误');
return false ;
}
if(_email && _lenErr(uv))
{
_err(username,'用户名必须是6到20位字符');
return false ;
}
if(_email && _phoneErr(uv))
{
_err(username,'非法的手机号码');
return false ;
}
if(_email && _nameErr(uv))
{
_err(username,'用户名必须是字母开头加下划线加数字的组合');
return false ;
}
_ok(username);
return true ;
}