Monday, June 16, 2008

Poprawione wyrażenie regularne dla e-maila

Ponieważ wyrażenie regularne służące do weryfikacji poprawności e-maila podane w dokumentacji rubiego nie jest doskonałe (zakłada konieczność wprowadzenia e-maila) oraz umożliwia wstawienie w nim znaku '?' poniżej podaje zmodyfikowane wyrażenie nie posiadający w.w. wad:


validates_format_of :email,
:with => /(^([^@\s?]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i,
:message => "ma błędny format (przykładowy poprawny email przyklad@domena.pl)"


Korzystając z okazji podam również wyrażenie regularne które może służyć do weryfikacji poprawności wpisanego numeru telefonu:


validates_format_of :telefon,
:with => /^[+]{0,1}[-0-9()\s]+$/,
:message => "ma błędny format (przykłady poprawnych: +48 071 123 123, 012-12-332)"

No comments: