![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 12.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie..
Utknąłem na kolejnym problemie.. ![]() Mianowicie potrzebuję sprawdzić czy podany przez klienta numer telefonu jest numerem komórkowym w formacie 9 cyfrowym. jak łatwo się domyśleć ludzie wpisują najróżniejsze formy swoich telefonów czy to stacjonarnych czy to komórkowych.. Generalnie potrzubuję z tego bałaganu: 1) Wydobyć numer telefonu z zapytania mysql -> z komórce "telefon" mam pole textowe z dokładnie czymś takim Kod Telefon: 515-894-894 lub Kod Telefon: (48)515894894 lub Kod Telefon: 48515894894 Do komórki "telefon" skrypt zapisuje wartości zmiennych $a='Telefon: '; + $b=$_REQUEST['numer_telefonu']; Niestety tego elementu nie mogę już zmienić tak więc trzeba "wyciąć" w $row['telefon'] zmienną $a tak aby otrzymać sam numer telefonu. 2) Sprawdzić czy podany numer jest numerem stacjonarnym czy komórkowym w między czasie powywalać z numeru wszelkie '-','(',')', i inne badziewia tak by został czysty numer.. 3) czyli całość widzę mniej więcej tak:
Oczywiscie nie będzie to wygladac na zasadzie if = 'komorka' podałem to dla zobrazowania zasady działania. Generalnie potrzebuje otrzymać czysty numer telefonu komórkowego w postaci 9 cyfrowej tak by przekazać go dalej do SOAPa.. Za wszelkie podpowiedzi serdecznie dziękuję. Ten post edytował xandersky 24.06.2013, 21:11:06 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
A problem masz z...?
-------------------- Google knows the answer...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 12.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
A problem masz z...? yyyy? Wydawało mi sie że dość dobrze opisałem z czym ![]() Generalnie można by w tablicy wypisać wszystkie początki numerów telefonów komórkowych i potem sprawdzić czy początek już obrobionego numeru znajduje się w tablicy
Generalnie jakoś to widzę jak ma to funkcjonować niestety nie wiem jakimi funkcjami i w jaki sposób się posługiwać by osiągnąć zamierzony cel.. Doczytałem już że na samym wstępie pobrany z bazy "Telefon: (+48)515-894-894" utnę za pomocą $num_telefon_step1 = substr($num_telefon, 9); otrzymam wtedy -> (+48)515-894-894 Teraz zostaje tylko powywalać niepotrzebne znaczki i sprawdzić numer pod kątem powyższym.. I w tym właśnie mam problem ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Gotowego kodu nie dostaniesz, na to nie licz
![]() Jedziemy: - usunięcie niepotrzebnych znaków w ciągu, np. str_replace (jako argument podajesz tablice), ew. preg_replace - w kwestii formatu numeru telefonu, znowu wyrażenia regularne i funkcja preg_match_all. Wydaje mi się jednak, że jakiś format numery przyjąć powinieneś, bo zezwalanie na sieczkę to jak proszenie się o kłopoty. -------------------- Google knows the answer...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 12.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Gotowego kodu nie dostaniesz, na to nie licz ![]() Jedziemy: - usunięcie niepotrzebnych znaków w ciągu, np. str_replace (jako argument podajesz tablice), ew. preg_replace - w kwestii formatu numeru telefonu, znowu wyrażenia regularne i funkcja preg_match_all. Wydaje mi się jednak, że jakiś format numery przyjąć powinieneś, bo zezwalanie na sieczkę to jak proszenie się o kłopoty. Dziękuję o to właśnie mi chodziło ![]() Co do proszenia się o kłopoty - niestety - podzielam Twoją opinię jednakże dane pobierane są z allegro tak więc nijak nie mam wpływu na to co ludzie wpisują w numerach telefonu.. Chcę to możliwie maksymalnie obrobić tak by sam numer przekazać do SOAP'a wysyłającego sms z potwierdzeniem wpłaty bądź wysyłki.. Ok w zasadzie jakoś to wyszło ![]() Poniżej kod (może komuś następnemu się przyda..)
Generalnie kod to zlepek kilku różnych przykładów z manuali podanych w postach wyżej + klika wygooglowanych porad - wszystko połączyłem razem i.. Generalnie u mnie działa poprawnie i jak najbardziej sie sprawdza - jeżeli gdzieś widzicie błąd albo coś jest źle to chętnie poćwiczę inne metody ![]() Ten post edytował xandersky 24.06.2013, 22:35:15 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.04.2025 - 04:36 |