【问题标题】:Validation for password in javascript在javascript中验证密码
【发布时间】:2013-12-11 04:35:54
【问题描述】:

我必须验证密码。密码必须为 8 个字符(最小值 = 8 个字符,最大值 = 10 个字符)。并且应至少包含 1 个大写字符、1 个小写字符、1 个特殊字符和 1 个数字。到目前为止我所做的如下...

['validate-password', 'Password must contain at least 1 uppercase character, 1 lowercase character, 1 special character and 1 number (Min. length = 8 & Max. length = 10)', function(v) {
                var pass=v.strip(); 
                if(pass.length <11 && pass.length>7)
                    return Validation.get('IsEmpty').test(v) || /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/.test(v) || /^\s|\s$/.test(pass)

            }],

此代码工作正常,但是当我在密码开头添加空格时,例如密码 = 2 个空格 + Aaaa#7 然后它显示警报消息,但是当我在最后添加 2 个字符(如密码 = 2 个空格 + Aaaa#7 + 12)时,它正在接受。我在这里想要的是删除字符串开头和结尾的空格......我该怎么做???

【问题讨论】:

标签: javascript passwords


【解决方案1】:

如果你使用jQuery,你可以使用

$.trim(str)

修剪两边的空白,否则你可以使用:

str.replace(/^\s+|\s+$/g, '');

删除两边的空格。

【讨论】:

    【解决方案2】:

    使用$.trim(str)删除字符串开头和结尾的空格或 yourString.replace(/\s/g,''); 删除字符串中的所有空格。

    【讨论】:

      【解决方案3】:

      空白可以包含 \t,\r,\s。这是 jQuery 中用于修剪空白的代码,它在任何情况下都可以正常工作。

      whitespace = "[\\x20\\t\\r\\n\\f]";
      rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" )
      
      str.replace(rtrim , '');
      

      【讨论】:

        猜你喜欢
        • 2011-08-14
        • 2013-12-09
        • 2013-04-14
        • 1970-01-01
        • 2020-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多