我需要一个强大的密码验证。
要求:
以字母开头,长度8~16位,包含数字,大小写必须存在(这是关键的)我用的正则表达式工具都是没有我需要的验证。
所以特此发帖求助!~正则表达式密码javascriptjava

解决方案 »

  1.   

    简单点分3个来
    str="a12ab345678";
    alert( /^[a-z][a-z\d]{7,15}/i.test(str) && /[a-z]/.test(str) && /[A-Z]/.test(str) )
      

  2.   

    [^A-za-z]{1}[A-za-z\d]{8,16}大小写上百度搜多的是
      

  3.   


    小弟对正则表达式就是个白痴。
    上面少了个$
    str="a12ab345678";
    alert( /^[a-z][a-z\d]{7,15}$/i.test(str) && /[a-z]/.test(str) && /[A-Z]/.test(str) )
      

  4.   

    var str = 'a666688888888888888888888888888888888';
    var br = /^[a-zA-Z].{7,15}$/.test(str) && /\d/.test(str);
    alert(br);
      

  5.   


        var reg=/^(?=.*?\d)(?=.*?[a-z])(?=.*?[A-Z])[a-zA-Z]{1}[0-9a-zA-Z]{7,15}$/,
         arr=['23w3ew1','rts76wUys12','0992sdwSWD2','i87uw7ye2','Uy7we2','Ui9w8e2lok'];
    for(var i=0,max=arr.length;i<max;i++){
    alert(arr[i]+','+reg.test(arr[i]));
    }
      

  6.   


    改成^[a-zA-Z][a-zA-Z0-9]{7,15}$
      

  7.   


    改成^[a-zA-Z][a-zA-Z0-9]{7,15}$
    为什么改成{7,15}不是8到16位吗?
      

  8.   


    改成^[a-zA-Z][a-zA-Z0-9]{7,15}$
    难道是因为前面以字母开头已经占用了一位,还有7到15位有后面的字母和数字混合?
      

  9.   

    "大小写必须存在" 可以理解为"密码中同时存在大小写字母."吗? 形如:
     A112313a2(匹配),addd46466A(匹配),aaad4564679a(不匹配),ADDD1234DD(不匹配),
     A134467896(不匹配), a4646797966(不匹配); 小弟不懂事,望各位大小莫怪.
      

  10.   


    改成^[a-zA-Z][a-zA-Z0-9]{7,15}$
    难道是因为前面以字母开头已经占用了一位,还有7到15位有后面的字母和数字混合?
    我是这样理解的。。
      

  11.   

    如果是这样的话,我觉得就很麻烦了,是不是可以用js实现与判断,if(/^[a-zA-Z][a-zA-Z0-9]{7,15}$/.test(PassWord)&&/[a-z]+/.test(PassWord)&&/[A-Z]/.test(PassWord))
    望各位指教,我只能想到这么多,那些模糊匹配也记不住
      

  12.   

    很少在CSDN混,现在才看到,将就:
    ^(?=[a-zA-Z])(?=.*?[A-Z])(?=.*?[a-z])[a-zA-Z\d]{8,16}$