2017-07-13 65 views
0

我正在使用jQuery验证插件,并且我想使用data-rule-pattern创建密码强度正则表达式来验证该字段,并且无法使其工作。使用jQuery验证的密码强度数据规则模式

我希望密码有最低:

  • 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> 

的其他简单的验证工作好的,但不能完成这一个。任何人都可以请一些想法吗?谢谢!

+1

'(?=。* [AZ])(?=。* \ d)\ W {8 ,}'这样的事情?我将“字符”解释为'\ w'。 –

回答

0

您是否认为包含additional-methods.js
由于模式规则不包含在核心jquery.validate.js

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