![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 17.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem z wyrazeniem regularnym a konkretnie Chodzi o to że nazwa uzytkownika moze posidać tylko litery (od 5 do 10) a w moim przypadku jak są same cyferki to ok pokazuje komunikat "Nazwa użytkownika może mieć od 5 do 10 liter" ale jak sa litery i chociaż jedna cyferka to przechodzi dalej a nie powinno. oto fragmento kodu i proszę o korekte ferelnej podkreślonej linijki.
function sprawdz (form){ var user=form.nazwa.value; if ((user.length<5) || (user.length>10)) { document.getElementById("zlaNazwa").innerHTML = "Nazwa użytkownika może mieć od 5 do 10 liter"; document.getElementById("zlaNazwa").className = "wyroznienieCzerwone"; form.nazwa.focus; return false; } else { document.getElementById("zlaNazwa").innerHTML = "";} if (form.haslo.value.length < 7) { document.getElementById("opisHasla").innerHTML = "Proszę wprowadzić hasło co najmniej 7 literowe."; document.getElementById("opisHasla").className = "wyroznienieCzerwone"; form.haslo.focus(); return false ; } if (!((user.match(/[a-z]/)) || (user.match(/[A-Z]/)))) { document.getElementById("zlaNazwa").innerHTML = "Nazwa użytkownika zawierać tylko litery"; document.getElementById("zlaNazwa").className = "wyroznienieCzerwone"; form.nazwa.focus; return false; } else { document.getElementById("zlaNazwa").innerHTML = ""; } if (form.haslo.value!=form.haslo2.value) { document.getElementById("zgodneHasla").innerHTML = "Hasła nie są zgodne!"; document.getElementById("zgodneHasla").className = "wyroznienieCzerwone"; return false; } return true; } |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 20.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Przechodzi dalej ponieważ Twoje wyrażenia regularne sprawdzają czy w nazwie użytkownika występuje gdziekolwiek jakaś litera z alfabetu łacińskiego. Musisz dodać do wyrażenia regularnego warunki, aby cały przeszukiwany tekst znalazł się pod wpływem wyrażenia regularnego i dodać ile razy znaki mogą w nim wystąpić. Całość można zrobić jednym wyrażeniem a nie dwoma jak to uczyniłeś.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
@Zigi: wyrażenia regularne to dla niektórych czarna magia więc Twoje tłumaczenie jak sądzę wiele mu nie powiedziało
a ze dziś mam dobry dzień to wyjątkowo "gotowiec"
albo w wersji kompaktowej:
Ten post edytował devnul 17.09.2010, 23:16:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 17:24 |