Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak sprawdzić numer telefonu
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Mam formularz w którym jest pole numer telefonu.
Chcę go tak ustawić, że jeżeli jest pusty wstawia wartość domyślną do bazy. Jeśli coś jest wpisane choć by jeden znak zaczyna sprawdzać czy jest
telefon poprawnie wpisany.

To moja kombinacja

  1. <?php
  2. if (strlen($tel)==0) {
  3. $tel='(022)622-22-22';
  4. }else{
  5. if (strlen($tel)<14 or strlen($tel)>14
  6.  or !eregi("^[0-9()-]+$",$tel)) { $blad++;
  7. echo "<span style=\"color:red;\">Błąd w podawaniu numeru telefonu. Przykład: (022)622-22-22</span><br />";
  8. }
  9.  
  10. }
  11. ?>


Prawie działa, nie sprawdza mi czy są nawiasy i myślniki tylko liczy do 14 cyfr.
Macie może jakiś na to pomysł ?

Pozdrawiam
Redelek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Shili
post
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Kurcze, przeanalizowałam od samego początku i masz całkowicie kopnięty warunek.

  1. <?php
  2. if (strlen($tel)>0
  3.  || preg_match("/(0[1-9]{3})[0-9]{3}-[0-9]{2}-[0-9]{2}/",$tel))
  4. ?>

Jeśli długość jest większa od zera lub ciąg pasuje do wyrażenia wyświetlasz błąd!

  1. <?php
  2.  
  3. $tel='(022)666-44-47';
  4. if (strlen($tel)<=|| !preg_match("/(0[1-9]{2})[0-9]{3}-[0-9]{2}-[0-9]{2}/",$tel)) {
  5. $blad++;
  6. echo "<span style=\"color:red;\">Błąd w podawaniu numeru telefonu. Przykład: (022)622-22-22</span><br />";
  7. }
  8. else{
  9. echo "GOOOD!!!!";
  10. }
  11.  
  12.  ?>


@edit
Swoją drogą przy tak sformułowanym wyrażeniu regularnym możesz sobie spokojnie podarować sprawdzanie długości, wyrażenie też to robi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

@edit2
Zeżarło mi backslashe

Ten post edytował Shili 11.07.2008, 15:06:10
Go to the top of the page
+Quote Post
redelek
post
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cytat(Shili @ 11.07.2008, 13:37:56 ) *
Jeśli długość jest większa od zera lub ciąg pasuje do wyrażenia wyświetlasz błąd!

Odwrotnie też próbowałem i jest taki sam efekt wyświetla się GOOD cały czas nawet jak jest śle

  1. <?php
  2.  
  3. $tel='(022)663-84-47';
  4.  
  5. if (strlen($tel)>|| !preg_match("/(0[1-9]{3})[0-9]{3}-[0-9]{2}-[0-9]{2}/",$tel)) {
  6.  
  7. echo "GOOOD!!!!";
  8.  
  9. }else{
  10. echo "<span style=\"color:red;\">Błąd w podawaniu numeru telefonu. Przykład: (022)622-22-22</span><br />";
  11.  
  12.  
  13. }
  14. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 20:09