用户名必须为6-16位中英文字符或邮箱或手机号,这正则怎么写?在线等!

如题所述

第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 ;
    }

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网