2017-07-13 93 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