長度為 6-20,只可有英文, 數字或 underline (_),第一和最尾必是英文或 數字,最少有一個數字

解决方案 »

  1.   

    var password = /^[a-zA-Z][a-zA-Z0-9\_]{4,18}[a-zA-Z]$/;
    最少有一个数字不用判断了吧。表达式里有数字匹配的。。匹配不到一个肯定报错。匹配到就不用管有多少了。。不知道对不对。参考指点一下呗
      

  2.   

     reg = /^(?=.*\d.*)[a-zA-Z0-9][a-zA-Z0-9_]{4,18}[a-zA-Z0-9]$/;
      

  3.   

    1楼的不行,第一和最尾必是英文或數字,现在只能是英文了
    2楼的在js里面也不行啊,password1通不过
      

  4.   

    var reg = /^[a-zA-Z0-9]\w{4,18}[a-zA-Z0-9]$/
      

  5.   

    長度為 6-20,只可有英文, 數字或 underline (_),第一和最尾必是英文或 數字,最少有一個數字
      

  6.   

    <input type="text" value="3dsfsdf" onblur="alert(/^(?![a-zA-Z_]+$)[a-zA-Z0-9][a-zA-Z0-9_]{4,18}[a-zA-Z0-9]$/.test(this.value))">
      

  7.   

    ^(\d|[a-zA-Z])[_0-9a-zA-Z]{4,18}(\d|[a-zA-Z])$
      

  8.   

    同意#9的,但是好像少了下划线(_)的匹配
    ^(\d|[a-zA-Z])[_0-9a-zA-Z_]{4,18}(\d|[a-zA-Z]|_)$