簡體   English   中英

jQuery驗證 - 密碼必須包含大寫和數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM