plugin jQuery validation: accepter uniquement les caractères alphabétiques?
Je voudrais utiliser du jQuery plugin de validation pour valider un champ qui n'accepte que des caractères alphabétiques, mais il ne semble pas être une règle définie. J'ai cherché sur google mais j'ai rien trouvé d'utile.
Vous pouvez utiliser le lettersonly la règle 🙂 Les autres méthodes font partie de la zip que vous téléchargez, vous pouvez toujours trouver les derniers ici.
Il est intéressant de noter, chaque méthode est indépendante, vous pouvez inclure ce spécifique, il suffit de placer ce avant votre .validate() appel:
jQuery.validator.addMethod("lettersonly",function(value, element){returnthis.optional(element)||/^[a-z]+$/i.test(value);},"Letters only please");
^[A-Za-z]+$ d'accepter également des lettres majuscules, ou définir la valeur à la baisse des cas avec toLowerCase() fonction. upvoted pour this.optional(element) ||
jQuery.validator.addMethod("lettersonly",function(value, element){returnthis.optional(element)||/^[a-z," "]+$/i.test(value);},"Letters and spaces only please");
[a-z " "] par l'ajout de la virgule, les guillemets, vous permettant de les espaces, les virgules et les guillemets dans la zone de saisie.
Pour les espaces + texte, il suffit de faire ceci:
jQuery.validator.addMethod("lettersonly",function(value, element){returnthis.optional(element)||/^[a-z ]+$/i.test(value);},"Letters and spaces only please");
[a-z ] cela permet à des espaces ainsi que du texte seul.
également le message "les Lettres et les espaces seulement s'il vous plaît" n'est pas obligatoire, si vous avez déjà un message dans les messages:
messages:{
firstname:{
required:"Enter your first name",
minlength: jQuery.format("Enter at least (2) characters"),
maxlength:jQuery.format("First name too long more than (80) characters"),
lettersonly:jQuery.format("letters only mate")},
Juste un petit ajout à Nick de la réponse (qui fonctionne très bien !) :
Si vous souhaitez autoriser les espaces entre les lettres, par exemple ,
vous pouvez restreindre à entrer uniquement des lettres dans le nom complet, mais il faut laisser de l'espace en tant que bien juste la liste de l'espace comme ci-dessous avec une virgule. Et de la même manière si vous avez besoin de permettre à une autre caractère spécifique:
jQuery.validator.addMethod("lettersonly",function(value, element){returnthis.optional(element)||/^[a-z," "]+$/i.test(value);},"Letters and spaces only please");
Les deux Nick et Adam réponses fonctionnent vraiment bien.
Je voudrais ajouter une remarque si vous souhaitez autoriser les caractères latins comme á et ç que je voulais faire:
jQuery.validator.addMethod('lettersonly',function(value, element){returnthis.optional(element)||/^[a-z áãâäàéêëèíîïìóõôöòúûüùçñ]+$/i.test(value);},"Letters and spaces only please");
Merci! mais u a également oublié - hehe 🙂 Merci, @Andres! Je viens de mettre à jour ma réponse et a ajouté ñ
Si vous incluez les autres méthodes de fichier, voici le fichier en cours de 1.7: http://ajax.microsoft.com/ajax/jquery.validate/1.7/additional-methods.js
Vous pouvez utiliser le
lettersonly
la règle 🙂 Les autres méthodes font partie de la zip que vous téléchargez, vous pouvez toujours trouver les derniers ici.Voici un exemple:
Il est intéressant de noter, chaque méthode est indépendante, vous pouvez inclure ce spécifique, il suffit de placer ce avant votre
.validate()
appel:upvoted pour
this.optional(element) ||
OriginalL'auteur Nick Craver
Être prudent,
[a-z " "] par l'ajout de la virgule, les guillemets, vous permettant de les espaces, les virgules et les guillemets dans la zone de saisie.
Pour les espaces + texte, il suffit de faire ceci:
[a-z ] cela permet à des espaces ainsi que du texte seul.
............................................................................
également le message "les Lettres et les espaces seulement s'il vous plaît" n'est pas obligatoire, si vous avez déjà un message dans les messages:
Adam
OriginalL'auteur adam
Juste un petit ajout à Nick de la réponse (qui fonctionne très bien !) :
Si vous souhaitez autoriser les espaces entre les lettres, par exemple ,
vous pouvez restreindre à entrer uniquement des lettres dans le nom complet, mais il faut laisser de l'espace en tant que bien juste la liste de l'espace comme ci-dessous avec une virgule. Et de la même manière si vous avez besoin de permettre à une autre caractère spécifique:
OriginalL'auteur Steer360
Les deux Nick et Adam réponses fonctionnent vraiment bien.
Je voudrais ajouter une remarque si vous souhaitez autoriser les caractères latins comme
á
etç
que je voulais faire:Merci, @Andres! Je viens de mettre à jour ma réponse et a ajouté
ñ
OriginalL'auteur FlavioEscobar
pour permettre aux lettres sna espaces
OriginalL'auteur Sameera Prasad Jayasinghe
OriginalL'auteur Anup Shetty