现在需要校验用户名,命名规则如下:
1、用户名由字母、数字、特殊字符集(包括_@#%&)组成
2、至少包含以上两种字符
3、只能以字母开头
求大神给个可用的正则表达式

解决方案 »

  1.   

    varreg=/(?=.*[A-Za-z])(?=.*[#@!~%^&*])[A-Za-z\d#@!~%^&*]{8,16}/
      

  2.   

    必须包含字母
    (?=.*[A-Za-z])
    必须包含***字符
    (?=.*[#@!~%^&*])
    匹配三种合法字符,长度8-16
    [A-Za-z\d#@!~%^&*]{8,16}我觉得稍微改动一下更符合要求(特殊字符有可能需要转义,就是前面加\,不确定哪些需要加)
    字母开头
    ^[A-Za-z]
    必须包含数字或特殊字符
    (?=.*[\d#@!~%^&*])
    不变
    [A-Za-z\d#@!~%^&*]{8,16}