Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tylko litery lub tylko cyfry, Sprawdzanie zawaerości pól w formie
PcPablo
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 20.10.2002
Skąd: Kielce

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


Pozostał mi tylko jeden problem dot. java scriptu.
Mianowicie mam 3 pola w formie:
  1. <input type="text" name="Imie" size="15">
  2. <input type="text" name="Nazwisko" size="15">
  3. <input type="text" name="Data_urodzenia" size="10" value="dd.mm.rrrr" maxlength="10">


Chcaiłbym, żeby w pierwszym i drugim polu można było wpisać tylko litery (imię i nazwisko), czyli żeby scrypt java nie pozwalał na wpisanie czego innego.

A co do trzeciego pola, to żeby możabyło wpisać tylko cyfty (z kropkami) i potem żeby scrypt sprawdzał, czy pole jest poprawnie wypełnione, czyli czy ktoś poprawnie wpisał date w formie: dd.mm.rrrr. Jężeli data byłaby wpisane inaczej, czyli źle, żeby wyskakiwał komunikac o niepoprawnym wpisaniu daty.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
bela
post
Post #2


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


nie lepiej zrobić to za pomocą wyrażeń regularnych? java script zawsze można oszukać, chociażby przez telneta (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
PcPablo
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 20.10.2002
Skąd: Kielce

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


Nie wiem, zabardzo nie rozumiem o co ci chodzi. Tak mi kazano zrobić jak napisałem...
Go to the top of the page
+Quote Post
number0
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 12.03.2004
Skąd: Warszawa

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


is_numeric ()
is_bool()
is_float()
is_int()
is_string()
is_integer()
itd.


http://pl.php.net/is_numeric
Go to the top of the page
+Quote Post
bela
post
Post #5


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


a nie pomyślałem, że ktoś może mieć wyłączony js i już nie sprawdzić poprawności formularza ?
Go to the top of the page
+Quote Post
Paul
post
Post #6





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

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


Mozna dlatego robic to podwojnie odciazajac serwer tym sposobem...

Przerob sobie to odpowiedno:
  1. <script type="text/javascript">
  2. function check(obj, regexp) {
  3. alert(regexp.test(obj.value));
  4. }
  5. <input type="text" onchange="check(this, /^[a-zęółśążźćń ]+$/i);">
  6. <input type="text" onchange="check(this, /^\d{1,2}\.\d{1,2}\.\d{4}$/);">
Go to the top of the page
+Quote Post
PcPablo
post
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 20.10.2002
Skąd: Kielce

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


Cha, to w taki sposób działa ten scrypt. No nieststy nie odpowiada mi to z tego względu, że przy poprawnym wypęłnieniu pola wyskakuje komunikat TRUE.
Miałem na myśli scrypt który powoduje, że w pole w ogóle nie da się wpisać cyfry, a nie sprawdza po wpisaniu, czy jest tam jakaś cyfra...

Ten post edytował PcPablo 15.09.2004, 14:49:14
Go to the top of the page
+Quote Post
Paul
post
Post #8





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

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


Cytat(PcPablo @ 2004-09-15 00:18:54)
No nieststy nie odpowiada mi to z tego względu, że przy poprawnym wypęłnieniu pola wyskakuje komunikat  TRUE.

To byl przykad dzialania funkcji - ktory trzeba dostosowac dla danych potrzeb...

Cytat("PcPablo")
Miałem na myśli scrypt który powoduje, że w pole w ogóle nie da się wpisać cyfry, a nie sprawdza po wpisaniu, czy jest tam jakaś cyfra...


Zaciekawil mnie problem wiec postanowilem go rozwiazac (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) :
  1. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  2. <script type="text/javascript">
  3. function check(e, regexp) {
  4. if(navigator.userAgent.indexOf('Gecko') != -1) {
  5. charCode = e.which;
  6. } else {
  7. charCode = e.keyCode;
  8. }
  9. if(charCode > 31) {
  10. znak = String.fromCharCode(charCode);
  11. return regexp.test(znak);
  12. }
  13. }
  14. Tylko a-z, polskie znaki, małe i duże:
  15. <input type="text" onkeypress="return check(event, /[a-zęółśążźćń ]/i);"><br><br>
  16. Tylko cyfry:<input type="text" onkeypress="return check(event, /\d/);">
  17. </body>
  18. </html>

Wystarczy wpisac odpowiedni zakres dopuszczalnych znakow w wyrazeniu regularnym i tyle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
PcPablo
post
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 20.10.2002
Skąd: Kielce

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


No super, dzięki! Działa wszystko dobrze!

Ten post edytował PcPablo 18.09.2004, 13:18:41
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:04