Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działające wyrażenie regularne
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
romseb
Witam

Serdecznie proszę was o pomoc bo szukam i szukam i nie mogę znaleźć błędu

Ułożyłem sobie taki wzorzec wyrażenia regularnego:

^[a-zA-Z]{1}[a-zA-Z0-9-]{1,19}$

które ma sprawić, że zapis s-4 jest prawidłowy ale już 4-4 nieprawidłowy.

I teraz tak: jak wpisuję toto do formularza wyskakuje alert, że r s-4 jest nieprawidłowe.

A wpisując powyższy wzorzec do testera wychodzi że s-4 jest oki.

Zaznaczam, że zmajstrowany w js wzorzec wkleiłem do testera, więc w dwóch miejscach użyłem tego samego

Testowałem tym, świetne.

http://www.pagecolumn.com/tool/regtest.htm

Gdzie zrobiłem błąd?

Pozdrawiam i dziękuję

R
redeemer
U mnie
[JAVASCRIPT] pobierz, plaintext
  1. /^[a-zA-Z]{1}[a-zA-Z0-9-]{1,19}$/.test('s-4');
[JAVASCRIPT] pobierz, plaintext
zwraca true. Pokaż kod.
romseb
Proszę. Tutaj jest ten sam wzorzec.

  1.  
  2. function ValidName(NamNum)
  3. {
  4. var RegExPattern = /^[a-zA-Z]{1}[a-zA-Z0-9-]{1,19}$/;
  5.  
  6. if (!(NamNum.match(RegExPattern)) || NamNum.length < 1)
  7. {
  8. document.getElementById("sugname").style.background="#FF0000";
  9. document.getElementById("sugname").style.color="#000000";
  10. document.getElementById('saveForm').disabled = true;
  11. alert("Wykryto nieprawidłowy znak, lub nazwa ma niewłaściwą długość!");
  12. //return false;
  13. }
  14. else
  15. {
  16. document.getElementById("sugname").style.color="#009900";
  17. document.getElementById("sugname").style.background="#E0E0E0";
  18. document.getElementById('saveForm').disabled = false;
  19.  
  20. //return true;
  21. }
  22. }



Pozdrawiam

romseb
Niktoś
Wydaje mi się, żę problem nie tkwi w wyrażeniu regularnym lecz w linii:
  1. if (!(NamNum.match(RegExPattern)) || NamNum.length < 1)


Spróbuj użyć samo:
  1. if(!(NamNum.match(RegExPattern)){
  2.  
  3. }

aby wykluczyć ,że przeczenie !(not) nie tyczy się czasami całego warunku.
redeemer
Funkcja wygląda OK (działa u mnie i na ff i na chromie). Jesteś pewien, że przekazujesz argument do funkcji prawidłowo?

@Niktoś: Od tego są nawiasy wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.