Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrażenie Regularne php, Problem z walidiacją numeru Tel przy użyciu wyrażenia regularnego
korey
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


Witam!
Napisałem coś takiego:

  1.  
  2. //Sprawdzam pole "szkola_tel"
  3. if(empty($szkola_tel)){
  4. $info_txt_szkola_tel.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
  5. $blad=true;
  6. }
  7. else if(!ereg('^[0-9]{3}-[0-9]{2,3}-[0-9]{2,3}$' , $szkola_tel )){
  8. $info_txt_szkola_tel.='<font color="#B20000">Nieprawidłowy numer telefonu.</font>';
  9. $help_txt.='~ <font color="#B20000">Nr.Tel podaj w/g przykładu: <b>000-000-000</b> lub <b>000-00-00</b></font><br />';
  10. $blad=true;
  11. }
  12. else{
  13. $info_txt_szkola_tel.='<font color="#207C07"> OK.</font>';
  14. }

Wyrażenie działa poprawnie jak wpisuje sie numrey tel a takich formatach:
000-00-00
lub
000-000-000

Chciałbym do tego wszystkiego dodać numer kierunkowy, czyli np: +XX\s
lecz gdy próbuje to robię wyrażenie zwraca błąd. (IMG:style_emoticons/default/sad.gif)

Z góry dziękuje za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




FILTER_SANITIZE_URL usuwa wszystkie snaki, które nie mogą pojawić się w URL. Według specyfikacji zostawia jedynie liczby, cyfry oraz znaki $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=. a reszta wylatuje. Teraz jedynie sprawdzamy czy ma "z przodu" protokół jakikolwiek jeśli go brak, doklejamy http:// a potem jeszcze walidacja z użyciem FILTER_VALIDATE_URL. Wiem, że można od razu preg_match walnąć, ale jakoś mam większe zaufanie dla wbudowanych reguł filtrujących niż pisanie wyrażenia "z głowy" i preferuję zdać się podczas walidacji na pewne funkcje. Jedyne co trzeba jeszcze sprawdzić to czy da się przepchnąć adres ip zamiast domeny (IMG:style_emoticons/default/smile.gif) http://80.56.200.43/index.php da się zwalidować czy nie? Bo i takie adresy mogą się przecież trafić...

EDIT: Żeby nie było. Adres podany przeze mnie jest czysto przypadkowy i nie prowadzi nigdzie. To ślepa uliczka mająca jedynie na celu zaprezentowanie wariantu z możliwą sytuacją walidacji IP zamiast domeny (IMG:style_emoticons/default/smile.gif)

Ten post edytował thek 3.03.2010, 13:28:58
Go to the top of the page
+Quote Post

Posty w temacie
- korey   [PHP] Wyrażenie Regularne php   28.02.2010, 11:51:32
- - TNT   + chyba musi być escapowany, spróbuj: Kod^\+...   28.02.2010, 12:50:59
- - korey   Hmm to jakiej funkcji używać.? przerobiłem kod na...   28.02.2010, 13:30:50
- - TNT   preg_match ma inne ograniczniki(?) - nie wiem jak ...   28.02.2010, 14:01:03
- - korey   użyłem twojego kodu i nic. usunąłem trim() i nic. ...   28.02.2010, 14:12:17
- - TNT   Zobacz co u ciebie wyświetli [PHP] pobierz, plaint...   28.02.2010, 14:43:11
- - pyro   Nawet nie patrzyłem na przykłady innych, po prostu...   28.02.2010, 14:52:38
|- - korey   Cytat(pyro @ 28.02.2010, 14:52:38 ) N...   2.03.2010, 15:29:46
- - thek   Po pierwsze czy ktoś zwrócił uwagę na fakt, że + j...   2.03.2010, 16:02:31
|- - pyro   Cytat(thek @ 2.03.2010, 16:02:31 ) Po...   2.03.2010, 16:31:41
- - fifi209   Proszę wyrażenie + przykład: [PHP] pobierz, plain...   2.03.2010, 17:01:47
- - korey   Noo. Użyłem wyrażenia od fifi209 sprawdziłem numer...   3.03.2010, 08:27:49
- - thek   Może to tylko mój pomysł, ale połącz walidację z p...   3.03.2010, 08:56:03
- - korey   Yyyy.. nie rozumiem. ze niby jak?   3.03.2010, 11:46:48
- - thek   FILTER_SANITIZE_URL usuwa wszystkie snaki, które n...   3.03.2010, 13:26:25
- - korey   Napisałem coś takiego: [PHP] pobierz, plaintext /...   6.03.2010, 13:13:32
|- - strife   Cytat(korey @ 6.03.2010, 13:13:32 ) N...   6.03.2010, 13:30:05
- - tr0lit   Musisz posiadać na serwerze wersję PHP 5.2.0, lub ...   6.03.2010, 13:29:02
- - korey   no macie racje.. ;/ To moze mógłby mo ktoś powiedz...   6.03.2010, 15:43:20
- - tr0lit   Ściągnij najnowszą wersję PHP z oficjalnej strony ...   6.03.2010, 20:20:50
- - korey   Pobrałem nową wersje PHP ale nie bardzo wiem jakie...   8.03.2010, 10:20:10
- - Cysiaczek   Nie, to na 99,9% Twoja wina i od tego zacznij :-) ...   8.03.2010, 10:41:43
- - korey   już sobie poradziłem wszystko działa   9.03.2010, 11:31:53


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: 4.10.2025 - 11:13