Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Numery telefonu
RaVq3K
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 10.02.2011

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


Witam serdecznie mam tablicę z numerami telefonu oraz tablicę prefiksów stacjonarnych ale nie wiem jak sprawdzić który numer to komórka a który to stacjonarny
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
wicek
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


NUmery różnią się ilościami cyfr , więc pobieraj każdy numer z tablicy i sprawdzaj jaką ma długość znaków.
Co potem chcesz z tymi numerami zrobić wyświetlić,pogrupować ?

Ten post edytował wicek 14.04.2014, 11:50:04
Go to the top of the page
+Quote Post
RaVq3K
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 10.02.2011

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


Jeśli nie ma +48 a dają np, 71 to też jest 9 cyfr więc nie mogę sprawdzać ilością cyfr tylko prefiksami

Chce tylko obliczyć ile jest tego a ile tego
Go to the top of the page
+Quote Post
wicek
post
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


A jest to tablica z prefiksami operatorów czy kierunkowymi ?
Go to the top of the page
+Quote Post
RaVq3K
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 10.02.2011

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


$prefiksy = array(12,13,14,15,16,17,18,22,23,24,25,29,32,33,34,41,42,43,44,46,48
,52,54,55,56,58,59,61,62,63,65,67,68,71,74,75,76,77,81,82,83,84,85,86,87,89,91,9
4,95);
Go to the top of the page
+Quote Post
wicek
post
Post #6





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


Wydaje mi się iż dwie pierwsze cyfry prefiksów operatorów sieci komórkowych w polsce są inne niż kierunkowe linii stacjonarnych.


http://pl.wikipedia.org/wiki/Prefiksy_GSM

dla porownania.
Go to the top of the page
+Quote Post
KR2615
post
Post #7





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Weź pozbądź się wszystkich innych znaków niż cyfry z ciągu, weź 8 i 9ty znak od końca i sprawdź, czy znajduje się w tablicy. Prościej i skuteczniej się chyba nie da (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


ja mam u siebie coś takiego prymitywnego:
  1. static function getLocalPhonePrefix(){
  2. // Prefiksy numerów stacjonarnych
  3. return array(
  4. 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25, 29, 32, 33, 34, 41, 42,
  5. 43, 44, 46, 48, 52, 54, 55, 56, 58, 59, 61, 62, 63, 65, 67, 68, 71,
  6. 74, 75, 76, 77, 81, 82, 83, 84, 85, 86, 87, 89, 91, 94, 95);
  7. }
  8.  
  9. public function localPhone($mobile) {
  10. $isValid = true;
  11.  
  12. // Sprawdzamy długośc telefonu po usunięciu wszystkich nienumerycznych znaków
  13. $mobile = preg_replace('/[^0-9]/', '', $mobile);
  14. if(strlen($mobile) < 9) {
  15. $isValid = false;
  16. }
  17.  
  18. // // Wywalamy 0 z początku numeru
  19. $mobile = ltrim($mobile, '0');
  20. if (strlen($mobile) === 11) {
  21. // Wywalamy prefix krajowy 48 z początku
  22. $mobile = substr($mobile, 2);
  23. }
  24.  
  25. if(strlen($mobile) === 9) {
  26. $prefix = substr($mobile, 0, 2);
  27. if(!in_array($prefix, self::getLocalPhonePrefix())) {
  28. $isValid = false;
  29. }
  30. }
  31.  
  32. return $isValid;
  33.  
  34. }
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: 5.10.2025 - 20:29