2010-09-14 17 views
9

Ich muss einen regulären Ausdruck für RegularExpressionValidator ASP.NET Web Controls schreiben.Regulärer Ausdruck, um nur Buchstaben zu entsprechen

Der reguläre Ausdruck alle alphabetischen Zeichen ermöglichen soll, aber nicht Zahlen oder Sonderzeichen (Beispiel: | "£ $% & /()

Jede Idee, wie es zu tun

Antwort

15
^[A-Za-z]+$ 

eine Zeichenkette der Länge 1 oder größer ist, nur aus ASCII-Buchstaben besteht.

^[^\W\d_]+$ 

macht das gleiche für internationale Briefe auch.

Erläuterung:

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

Effektiv erhalten Sie \w minus (\d und _).

Oder könnten Sie die Tatsache nutzen, dass ASP.NET Unicode-Eigenschaften unterstützt:

^\p{L}+$ 

prüft eine Reihe von Unicode-Zeichen mit einer Länge von 1 oder mehr.

+0

Große Antwort; um es zu ergänzen: '\ p {Ll}' passt nur auf Kleinbuchstaben und '\ p {Lu}' nur auf Großbuchstaben. – mklement0

3

Sie verwenden können.? die Regex:

^[a-zA-Z]+$ 

Erläuterung:

  • Starten Anker
  • [..]:Char Klasse
  • +: ein oder mehrere repetations
  • $: Ende Anker
7

inklusive Leerzeichen:

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

ohne Leerzeichen:

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

Um es nicht optional zu machen, die * zu einem validiert + ändern

Verwandte Themen