Ajouter regex à jquery.validate

Besoin d’append une vérification de regex à mon script jquery.validate.

J’ai ceci:

$().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" }, } }); 

});

Et j’aimerais vérifier si des caractères spécifiques sont autorisés dans la firebase database pour les mots de passe lorsque l’utilisateur entre leurs données ici:

        

Quel est le meilleur moyen d’append une vérification regex à un champ obligatoire tel qu’un mot de passe ou un nom d’utilisateur à l’aide du plug-in jquery.validate de bassisstance: http://docs.jquery.com/Plugins/Validation

En gros, je dois m’assurer que le mot de passe et les noms d’utilisateur créés ne contiennent que 0 à 9, des lettres et quelques caractères spéciaux.

addMethod bien, vous pouvez append votre méthode de validation personnalisée en utilisant addMethod , comme

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

Et ,

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

L’expression ci-dessus retournera true si regexp passe, false si ce n’est pas le cas. Changez-le pour répondre à vos besoins.