2012-12-09 22 views
7

JQuery.validate komut dosyasına bir regex işareti eklemeniz gerekiyor.regex to jquery.validate ekleyin

bu var:

$().ready(function() { 
    $("#myBlahForm").validate({ 

    rules: { 
     someName: { 
      required: true, 
      minlength: 5, 
      maxlength: 8, 
     }, 
     somePassword: { 
      required: true, 
          minlength: 5, 
      maxlength: 8, 
     }, 
     someConfirmPassword: { 
      required: true, 
      equalTo: "#somePassword" 
     }, 
    }, 
    messages: { 
     someName: { 
      required: "Please create your username", 
     }, 
     somePassword: { 
      required: "Please create a password", 
     }, 
     someConfirmPassword: { 
      required: "Please re-enter your password", 
      equalTo: "Passwords must match" 
     }, 
    } 
}); 

});

Ve kullanıcı burada kendi veri girdiğinde ben şifreler için DB izin verilen belirli karakterler için kontrol etmek istiyorum:

<label for="someName">Username</label> 
    <input type="text" id="someName" name="someName" placeholder="Create a Username"/> 

    <label for="somePassword">Password</label> 
    <input type="password" id="somePassword" name="somePassword" placeholder="Create a Password"/> 

    <label for="someConfirmPassword">Confirm Password </label> 
    <input type="password" id="someConfirmPassword" name="someConfirmPassword" placeholder="Verify your Password"/> 

gerekli bir alana böyle bir regex onay eklemek için en iyi yolu nedir bassisstance'dan jquery.validate eklentisini kullanarak bir parola veya kullanıcı adı olarak: http://docs.jquery.com/Plugins/Validation

Temel olarak, oluşturdukları parola ve kullanıcı adlarının yalnızca 0-9, harf ve birkaç özel karakter içermesine dikkat etmeliyim.

+1

olası yinelenen [jQuery doğrulamak: düzenli ifade doğrulama için bir kural eklemek için nasıl] (http://stackoverflow.com/questions/280759/jquery-validate-how-to-add-a-rule-for-regular-expression-validation) – ABMagil

cevap

26

iyi,

$.validator.addMethod("regx", function(value, element, regexpr) {   
    return regexpr.test(value); 
}, "Please enter a valid pasword."); 

Ve benzeri addMethod kullanarak özel doğrulama yöntemi, ekleyebilir

... 
$("#myBlahForm").validate({ 

    rules: { 
     somePassword: { 
      required: true , 
      //change regexp to suit your needs 
      regx: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{6,}$/, 
      minlength: 5, 
      maxlength: 8 
     } 
    } 
ait
3
required: function(element){ 
    return /[a-zA-Z0-9]/.test($('#someConfirmPassword').val()); 
} 

İfade, regexp geçtiyse true değerini döndürür, eğer yoksa yanlış. İhtiyaçlarınıza uyacak şekilde değiştirin.

+0

Çok teşekkür ederim! ;-) – mzalazar