Javascript regex pour accepter uniquement des lettres, des espaces, et -
Je suis à la recherche d'un Javascript regex assurez-vous que la chaîne ne contient que des espaces, des lettres, et, le cas insensiblement.
J'ai déjà essayé: /^[A-Za-z _]*[A-Za-z][A-Za-z _]*$/
mais il ne parvient pas à accepter ñ
.
J'ai essayé: /^[A-Za-z _]*[A-Za-z][A-Za-z _]*$/ - Mais ce n'accepter-Valeurs.
Oui, parce que j'ai juste besoin d'une valeur ASCII dans ce cas -
Juste pour être clair, ce n'est pas un caractère ASCII. .
L'espagnol de l'alphabet n'est pas un z-plus -. c'est Plutôt
la Honte la honte sur vous tous les gens pour voter pour fermer “pour être trop local”: c'est terriblement gênant “ugly American” est le genre d'attitude. La compréhension de la façon de traiter avec Unicode dans les regexes est quelque chose que même les muets monoglot anglophones besoin de le faire, que vous le vouliez ou autre. Remarquez les guillemets et les apostrophes dans ce commentaire. Bienvenue à Cañon City, Colorado, et ont une belle EM DASH genre de la journée!
Oui, parce que j'ai juste besoin d'une valeur ASCII dans ce cas -
Juste pour être clair, ce n'est pas un caractère ASCII. .
L'espagnol de l'alphabet n'est pas un z-plus -. c'est Plutôt
[aábcdeéfghijklmnñoópqrstuúüvwxyzAÁBCDEÉFGHIJKLMNÑOÓPQRSTUÚÜVWXYZ]
, et, d'ailleurs, qui ne fonctionnera que si vous exécutez tout d'abord les données à l'aide de Unicode la Forme de Normalisation C de la part de Canonical Composition, normalement appelé NFC. Sinon, votre - personnage peut et parfois est comprimise deux points de code: une normale n, suivie par U+0303 COMBINING TILDE
. Les caractères Unicode peuvent avoir plusieurs point de code représentations. Vous avez besoin de normaliser.la Honte la honte sur vous tous les gens pour voter pour fermer “pour être trop local”: c'est terriblement gênant “ugly American” est le genre d'attitude. La compréhension de la façon de traiter avec Unicode dans les regexes est quelque chose que même les muets monoglot anglophones besoin de le faire, que vous le vouliez ou autre. Remarquez les guillemets et les apostrophes dans ce commentaire. Bienvenue à Cañon City, Colorado, et ont une belle EM DASH genre de la journée!
OriginalL'auteur Jonathan Edgardo | 2011-09-10
Vous devez vous connecter pour publier un commentaire.
et
devrait fonctionner.
Javascript regex prend en charge
\u0000
par\uFFFF
.C'est fondamentalement vicié dans que vous n'avez pas lui dire d'exécuter ses données par l'intermédiaire d'un NFC conversion en premier. S'il ne le fait pas, ces modèles ne fonctionnent pas. Je suis assez sûr qu'il veut vraiment
[aábcdeéfghijklmnñoópqrstuúüvwxyzAÁBCDEÉFGHIJKLMNÑOÓPQRSTUÚÜVWXYZ]
pour l'espagnol alphabet, mais qui ne fonctionne que si vous NFC les données!!OriginalL'auteur Benjamin Udink ten Cate
Si vous voulez simplement que le caractère, l'insérer dans la Regex, comme
[A-Za-zÑñ ]
. Sinon, utilisez un Unicode sachant bibliothèque Regex pour Javascript comme http://xregexp.com/. Malheureusement JS Regexes ne prennent pas en charge Unicode conforme classes de personnage (comme\p{L}
en C# regexes)\p{L}
au lieu de simplement\pL
????? C'est vraiment stupide, car il triple la longueur du rédacteur de devis pour la 7 la plupart des cas. C'est un Huffman échec. Quelqu'un n'était pas très intelligent. Vous avez besoin de faire\pL
seulement un peu plus difficile à type de\w
. Sinon, les gens ne l'utilisent pas.\p{L}
est un bug.MAIS en fin de compte moins que le double de la longueur de la "expression".
\p{L}
est de 5 caractères et \pL est 3. Ouais, \pL serait mieux, mais je pense que le soutien de non-BMP caractères et de l' \X serait BEAUCOUP plus important 🙂OriginalL'auteur xanatos
Vous avez besoin pour utiliser un caractère de classe.
OriginalL'auteur Chinmay Kanchi