Y compris un trait d'union dans une regex caractère support?
$.validator.addMethod('AZ09_', function (value) {
return /^[a-zA-Z0-9.-_]+$/.test(value);
}, 'Only letters, numbers, and _-. are allowed');
Lorsque j'utilise somehting comme test-123
il déclenche toujours comme si le trait d'union n'est pas valide. J'ai essayé \-
et --
- Mon problème était que j'étais en fait en utilisant la méthode de la AZ09 et pas AZ09_ gr..
Vous devez vous connecter pour publier un commentaire.
S'échapper à l'aide de
\-
doit être fine, mais vous pouvez aussi essayer de le mettre au début ou à la fin de la classe de caractère. Cela devrait fonctionner pour vous:[0-9]
)Échapper au trait d'union à l'aide de
\-
est la bonne manière.J'ai vérifié que l'expression
/^[a-zA-Z0-9.\-_]+$/
ne permettent traits d'union. Vous pouvez également utiliser le\w
classe pour la raccourcir à/^[\w.\-]+$/
.(Mettre le trait d'union en dernier dans l'expression de la cause, il ne requérant pas de s'échapper, car elle ne peut pas faire partie d'une plage, cependant, vous pouvez toujours prendre l'habitude de toujours prendre la fuite.)
\-
devrait travailler pour échapper à la-
dans la plage de caractères. Pouvez-vous citer ce que vous avez testé quand il ne semblait pas? Parce qu'elle semble fonctionner: http://jsbin.com/odita3La \- peut-être n'étais pas de travail parce que vous êtes passés à l'ensemble des trucs sur le serveur avec une chaîne. Si c'est le cas, vous devriez au premier échapper à la \ de sorte que le côté serveur peut traiter aussi.
Ou vous pouvez tout simplement mis à la et des crochets [].
Plus générique moyen de l'appariement des traits d'union est à l'aide de la classe de personnage pour les tirets et des tirets ("\p{Pd}" sans les guillemets). Si vous travaillez avec du texte provenant de diverses cultures et des sources, vous pouvez trouver qu'il ya plusieurs types de traits d'union, non seulement un caractère. Vous pouvez l'ajouter à l'intérieur de l' [] expression