2010-09-14 9 views
9

J'ai besoin d'écrire une expression régulière pour les contrôles Web ASP.NET RegularExpressionValidator.Expression régulière pour correspondre uniquement aux lettres

L'expression régulière doit permettre à tous les caractères alphabétiques, mais pas des nombres ou des caractères spéciaux (par exemple: |! "£ $% & /()

Toute idée comment faire

Répondre

15
^[A-Za-z]+$ 

valide une chaîne de longueur 1 ou plus, composé uniquement de lettres ASCII.

^[^\W\d_]+$ 

fait de même pour les lettres internationales.

Explication:

[^ # match any character that is NOT a 
\W # non-alphanumeric character (letters, digits, underscore) 
\d # digit 
_ # or underscore 
] # end of character class 

, vous obtenez efficacement \w moins (\d et _).

Ou, vous pouvez utiliser le fait que ASP.NET prend en charge les propriétés Unicode:

^\p{L}+$ 

valide une chaîne de lettres Unicode de longueur 1 ou plus.

+0

Grande réponse; pour le compléter: '\ p {Ll}' ne correspond qu'aux caractères minuscules, et '\ p {Lu}' seulement les majuscules. – mklement0

3

Vous pouvez utiliser.? l'expression rationnelle:

^[a-zA-Z]+$ 

Explication:

  • ^: Lancer ancre
  • [..]: Char classe
  • +: un ou plusieurs repetations
  • $: Fin ancre
7

espaces compris:

"^[a-zA-Z ]*$" 

espaces non compris:

"^[a-zA-Z]*$" 

Pour le rendre non-option, changer le * à un +

Questions connexes