Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] Walidacja Formularzu - blokowanie klawiszy, blokowanie klawiszy za wyjątkiem cyfr, backspace i delete
Czapla
post 22.08.2008, 09:09:52
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 3
Dołączył: 10.12.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


znalazłem taki tutorial: http://www.mredkj.com/tutorials/validate.html

i przerobiłem go aby blokował klawisze

  1. function blokuj_klawisze(e) {
  2.   var key = window.event ? e.keyCode : e.which;
  3.   var keychar = String.fromCharCode(key);
  4.   reg = /\d/;
  5.   return reg.test(keychar);
  6. }


  1. Pozycja
  2. <input name='pozycja' id='pozycja' type='text' size='3' maxlength='3' value='<?php print ($pozycja);?>' onkeypress='return blokuj_klawisze(event)'>


W jaki sposob przerobić wyrażenie regularne aby blokował klawisze za wyjątkiem klawiszy backspace [chyba keyCode = 8] i delete [nie pamiętam keyCode]

Pozdrawiam


--------------------
Life is a game, continue playing and try to be a pr0.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Method
post 22.08.2008, 11:36:15
Post #2





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


przykład dla backspace'a
  1. var key = window.event ? e.keyCode : e.which;
  2. var keychar = String.fromCharCode(key);
  3. reg = /[\b]/ ;
  4. wynik = reg.test(keychar);
  5. alert (reg.test(keychar));
  6.  
  7. return wynik;



Możesz równiez napisać funkcję która będzie zwracała true dla twojego keycode'a a dla reszty bedzie false.
Zobacz co robi alert, który Ci umieściłem w przykladzie

co do zabawy regexp:
http://www.devguru.com/Technologies/ecmaSc...characters.html
http://developer.mozilla.org/index.php?tit...nia_regularnego


--------------------
"zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi"
Go to the top of the page
+Quote Post
Czapla
post 22.08.2008, 12:19:13
Post #3





Grupa: Zarejestrowani
Postów: 130
Pomógł: 3
Dołączył: 10.12.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Ok dałeś przykład dla backspace a teraz mam pytanie jak polączyć [\b] z \d smile.gif ?
bo tak:
  1. reg = /\d[\b]/;
nie działa smile.gif


--------------------
Life is a game, continue playing and try to be a pr0.
Go to the top of the page
+Quote Post
Method
post 22.08.2008, 12:59:25
Post #4





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


bo miedzy skladowymi musisz wprowadzic choica czy or'a jak wolisz |
http://www.sislands.com/coin70/week5/regexp.htm#quantifiers w rozdziale group matching smile.gif


--------------------
"zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:29