![](/img/trans.png)
[英]Regex for password must contain at least eight characters, at least one number and both lower and uppercase letters and special characters
[英]jQuery Validation - password MUST contain uppercase and number
所以在我的注冊表格中我有這個字段:
<div class="form-group">
<label for="RegisterModel_Password">Password</label>
<input type="password" id="RegisterModel_Password"
name="RegisterModel.Password" class="form-control"
required="required" minlength="8"/>
</div>
如您所見,我正在使用jQuery驗證屬性來確保密碼至少包含8個字符。 所以,我想檢查密碼是否包含大寫和數字,如果沒有,則字段無效。 我下載了名為“ pattern ”的jQuery Validation插件的附加方法,並將她添加到head標簽中。
我嘗試按照以下方式執行此操作,但它沒有奏效。
$("#formRegister").validate({
rules: {
RegisterModel_Password: {
pattern: /^[a-zA-Z][0-9]/
}
}
});
我認為模式是錯誤的,但我不確定使用是否正確。 謝謝您的幫助。
正則表達的鏈對我來說太難了(我從來沒有試過去學習它們)。 所以這是我的解決方案:
jQuery.validator.addMethod("passwordCheck",
function(value, element, param) {
if (this.optional(element)) {
return true;
} else if (!/[A-Z]/.test(value)) {
return false;
} else if (!/[a-z]/.test(value)) {
return false;
} else if (!/[0-9]/.test(value)) {
return false;
}
return true;
},
"error msg here");
簡單地說,我就像一個屬性一樣使用它:
<input type="password" id="RegisterModel_Password"
name="RegisterModel.Password"
class="form-control"
required="required" minlength="8"
passwordCheck="passwordCheck"/>
謝謝你的回答。
您可以使用$.validator.addMethod()
添加自定義驗證,如:
$.validator.addMethod("validation_name", function(value) {
// at least 1 number and at least 1 character
[^\w\d]*(([0-9]+.*[A-Za-z]+.*)|[A-Za-z]+.*([0-9]+.*))
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.