Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Walidacja Formularzu - blokowanie klawiszy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Czapla
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
Method
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
Czapla
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
Method
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
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.