środa, 22 września 2010

Walidacja danych w ASP.NET

Poniżej najpopularniejsze symbole używane w wyrażeniach regularnych.

Symbol Opis działania
. Dowolny znak, oprócz ‘\n’
[ ] Dowolny znak ze zbioru znajdującego się wewnątrz nawiasów. Przedziały znaków oznacza się ze znakiem ‘–‘ np. [a-zA-Z]. Wewnątrz nawiasów ‘\b’ wyjątkowo oznacza backspace.
[^ ] Dowolny znak nie należący do podanego zbioru np. [^0-9] – nie cyfra.
^ Dopasowanie musi zaczynać się na początku wiersza.
$ Dopasowanie musi kończyć się z końcem wiersza.
( ) Grupowanie wyrażeń. Ciąg dopasowany do wyrażenia wewnątrz nawiasów zostanie zapamiętany i będzie potem dostępny.
(?<nazwa>) Grupa nazwana. Umożliwia dostęp do grupy bez podawania jej numeru.
| Lub – alternatywa znaków, lub zbiorów.
* Zero lub więcej razy
+ Jeden lub więcej razy
? Zero lub jeden raz
{n} Dokładnie n razy
{n,m} Od n do m razy
{n,} n lub więcej
*? Leniwy kwalifikator * - próbuje dopasować jak najmniej elementów, analogicznie +?, ??, ...
\t, \r, \n, \v Jak zawsze: tab, powrót karetki, nowa linia, pionowy tab
\znak_specjalny Po prostu ten znak np. \$ - oznacza $; \^ - oznacza ^ itd.
\b Teoretyczna granica pomiędzy ciągiem alfanumerycznym, a białym znakiem
\w Skrót dla znaku ze zbioru znaków alfanumerycznych
\W Zaprzeczenie \w
\s Dowolny biały znak
\S Zaprzeczenie \s
\d Cyfra
\D Zaprzeczenie \d
\liczba np \1 Odwołanie wsteczne. Oznacza dokładnie ten sam ciąg, jaki został dopasowany do grupy o numerze ‘liczba’.
\k Odwołanie wsteczne do grupy nazwanej

Przykłady wyrażeń regularnych:

Wzór Opis
^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$ Sprawdza poprawność wpisanego maila.
^([0-1][0-9]|[2][0-3]):([0-5][0-9])$ Sprawdza poprawność podanej godziny.
\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b Sprawdza poprawność podanego adresu IP.
^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$ Sprawdza poprawność podanego numeru karty kredytowej.
(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z
0-9\-\._\?\,\'/\\\+&%\$#\=~])*
Sprawdza poprawność wpisanego adresu internetowego

Źródło: http://codeguru.pl/Articles/14375/Comments.aspx

Brak komentarzy:

Prześlij komentarz