![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Mam problem z wyrażeniem regularnym, sprawdzającym poprawność wprowadzonego adresu e-mail.
Kod var re = new RegExp("^([0-9a-zA-Z_\.]+)@([0-9a-zA-Z_\.]+)\.([0-9a-zA-Z]){2,3}$"); alert(re.test(val)); gdzie val jest wartością przekazaną do funkcji jako argument. Jeśli podam niepoprawny adres wszystko działa jak należy, jednak jeśli podam test@test.aaaaa, wówczas wyświetlona wartość to true, mimo, że po kropce występuje więcej znaków niż w regule. Gdzie jest błąd? P.S. Szukałem na googlach. Kilka sprawdzanych skryptów również się myli. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
@toolmaniak
Nawet się nad tym nie zastanawiałem. Dzięki za zwrócenie uwagi na to zagadnienie. Zmienię regułkę nieco i pozwolę na dłuższe nazwy. Poza tym znalazłem jeszcze jeden błąd w wyrażeniu. @envp To co napisałem ma być wstępnym sprawdzeniem poprawności podanego adresu e-mail. Jest to napisane po to, by użytkownikowi strona się nie przeładowała bez potrzeby. Niemniej jednak nadal nie wiem gdzie popełniłem błąd w wyrażeniu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 05:12 |