Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Numery tel. stacjonarne i kom. - rozróżnianie
luck
post 12.06.2006, 12:36:13
Post #1





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Chciałbym spytać, czy ktoś z użytkowników forum nie dysponuje jakimś sprytnym mechanizmem sprawdzania, czy określony numer telefonu jest numerem stacjonarnym, czy komórkowym. Nie zależy mi na określaniu operatora, jedynie rozgraniczeniu tych dwóch rodzajów numerów (stacjonarny i komórka). Będę wdzięczny za podpowiedź w jaki sposób mogę to osiągnąć.
Pozdrawiam.
Go to the top of the page
+Quote Post
dyktek
post 12.06.2006, 12:45:51
Post #2





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


wyrażenia regularne i np. preg-match
Go to the top of the page
+Quote Post
luck
post 12.06.2006, 13:28:22
Post #3





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Dzięki, ale tego raczej nietrudno się domyślić smile.gif Chodziło mi bardziej o konkretny przykład, tzn. jakie regexpy zastosować, żeby wyłapać interesujące mnie różnice między numerami komórek i stacjonarnymi.


--------------------
Go to the top of the page
+Quote Post
dyktek
post 12.06.2006, 14:32:23
Post #4





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


  1. <?php
  2. $zrodlo = '985-454-345';
  3.  
  4. $wyr = '/^(d{3})-(d{3})-(d{3})$/';
  5.  
  6. if(preg_match($wyr, $zrodlo)){  
  7. echo $zrodlo;
  8. }
  9. ?>


to wyłapie telefon w formacie 096-456-456 nie wiem jaki przyjąłeś format kom bo jest tez 0-000-000-000 ale to łatwo edytować

wyrazenia_regularne

Ten post edytował dyktek 12.06.2006, 14:33:00
Go to the top of the page
+Quote Post
Vomit
post 12.06.2006, 17:19:58
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

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


No i mozesz ewentualnie sprawdzac ilosc cyfr.

Komorka to przynajmniej 9, a stacjonarny 7
Go to the top of the page
+Quote Post
orson
post 12.06.2006, 20:14:52
Post #6





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam

od niedawna numer telefonu musi być poprzedzony numerem kierunkowym ... więc po tym odpada ... zresztą po zapisaniu numery komórkowego w innym formatowaniu 0 501 123 456 = 0 50 112 34 56 wychodzi normalny numer "stacjonarny" z kierunkowym 0-50 ...

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
luck
post 13.06.2006, 05:24:24
Post #7





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Cytat(orson @ 12.06.2006, 19:14 ) *
po zapisaniu numery komórkowego w innym formatowaniu 0 501 123 456 = 0 50 112 34 56 wychodzi normalny numer "stacjonarny" z kierunkowym 0-50 ...

Dziękuję za wszystkie propozycje, jednak zgadzam się z Orsonem - na podstawie długości raczej nie da się wychwycić różnicy stacjonarny/komórka. Ale przecież np. w dawnych bramkach sms było coś takiego, że po wpisaniu początku numeru skrypt rozpoznawał operatora sieci. Być może to byłoby jakieś wyjście? Jeśli numer dałby się przypisać do któregokolwiek operatora, to jest komórką, w przeciwnym wypadku - stacjonarnym numerem.


--------------------
Go to the top of the page
+Quote Post
dyktek
post 13.06.2006, 07:10:42
Post #8





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


mozesz narzucić pewne formaty uzytkownikom i bez przeładowania sprawdzac format przy uzyciu js
Go to the top of the page
+Quote Post
luck
post 13.06.2006, 07:40:41
Post #9





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


W sumie obecnie jedynym wymogiem jest, aby numer zaczynał się od kierunku kraju, czyli np. dla Polski 48*********. Wydaje mi się, że jeśli chodzi o polskie sieci komórkowe, to numery zaczynają się zawsze od 4050*******, 4860******* lub 48888******. Są jeszcz jacyś "Sami swoi" czy coś, ale nie wiem czy oni mają własną numerację. W każdym razie bazując na prefixie powinienem być w stanie "odfiltrować" numery komórek, bo chyba w telefonii stacjonarnej nie mamy regionu z numerem kierunkowym 50 lub 60. Dziękuję wszystkim za pomoc. Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
cyphelf
post 13.06.2006, 07:57:57
Post #10





Grupa: Zarejestrowani
Postów: 68
Pomógł: 1
Dołączył: 27.03.2006

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


Obecnie trzeba by sprawdzać pierwsze dwie cyfry, ponieważ od dłuższego czasu są w użyciu takie klasy numerów komórkowych jak np. 69x-xxx-xxx czy 66x-xxx-xxx. W sumie to można by założyć, że numer o początku innym niż dostępny u nas numer kierunkowy jest numerem komórkowym.


--------------------
lorem ipsum : polska społeczność zend framework
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: 19.07.2025 - 09:36