密码强度数据 - 规则模式与jQuery验证

时间:2017-07-13 08:29:38

标签: jquery regex passwords jquery-validate

我正在使用jQuery验证插件,我想使用data-rule-pattern创建一个密码强度正则表达式来验证字段,并且根本无法使其正常工作。

我希望密码最小化:

  • 8个字符
  • 1个大写字母
  • 1号

到目前为止,我有:

<p class="controls">
<input data-rule-pattern="(^$)|([a-z][A-Z]{1}[0-9]{1}$)" data-msg-pattern="Password does not meet the minimum requirments." id="password" type="password" data-rule-required="true" value="" />
</p>

其他简单的验证工作正常,但无法完成此操作。有人可以提出一些想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您认为包含 additional-methods.js 吗? 因为模式规则未包含在核心 jquery.validate.js

答案 1 :(得分:0)

您可以将正则表达式应用于带有客户addMethod的元素 像这样

这是我添加正则表达式的自定义addMethod

 $.validator.addMethod("PASSWORD", function (value, element) {
                    return this.optional(element) || /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/i.test(value);
                }, "Passwords are 8-16 characters with uppercase letters, lowercase letters and at least one number."); 

这是我的自定义addMethod附加到我的元素的规则方法

 $('input[name="password"]').rules('add', {
                    PASSWORD: true
                });

这是我的元素

  <input id="password" type="password" class="w-input"  data-rule-required="true" name="password" placeholder="Password"  />

<强> OR 您可以直接将自定义方法分配给元素

<input id="password" type="password" class="w-input" data-rule-PASSWORD="true"  data-rule-required="true" name="password" placeholder="Password" data-rule-password ="true" />
Hope It Will work For You