|
25. 12. 2012. | #1 |
Super Moderator
Knowledge base
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
|
Parsiranje telefonskog broja
Možda neko već ima iskustva pa da priupitam, postoji li neka klasa i sl. koja bi pravilno parsirala telefonske brojeve kako bi se razdvojili pozivni za zemlju, lokalni pozivni i broj telefona, dakle da od +3816499234344 dobijem 381 64 99234344 razdvojeno. Naravno, da su svi na 381 bilo bi jednostavno, jesu većinom, ali ne svi. Takođe nema nekog pravila, brojevi mogu biti i samo lokalni, tipa 064444333 bez poziva za zemlju, ili npr. neko piše 00 na početku kao izlaz i sl.
Dakle dobijam raznorazne brojeve, a nekako bi da ih formatriram što bolje i uniformno. Ima neko neku ideju ili klasu ili da krenem peške od početka da pravim neki konvertor/parser? |
25. 12. 2012. | #2 |
Mister
Master
|
uh uh. ja sam odustao svojevremeno od te ideje. Ima i problem što broj može da bude šestocifren, sedmocifren. Učinilo mi se da nema ni jedna konstanta za koju možeš da se uhvatiš.
Ako nađeš neko rešenje budi ljubazan pa podeli
__________________
When you assume, you make an ass out of u and me |
26. 12. 2012. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
ja sam imao neke perl klase koje su prepoznavale tel. brojeve, uglavnom su bile uspesne... probacu da ih pronadjem na backupu, nisam sa tim radio godinama
U susutini nije to nuklearna fizika (ali je dosadan posao), samo treba pokriti vecinu standardnih nacina pisanja i samo se na njih koncentrise, ostale slucajeve samo markiras i resavas ih rucno. Po nekom mom iskustvu cim ima vise od 20-tak tih za rucno resavanje, mozes da nadjes neko pravilo i malo doradis logiku da ih handluje automatski, tako da na kraju kroz par iteracija skripta "nauci" da odradi 99% slucajeva... EDIT: Ja sam koristio podatke sa ovog linka da bih znao koliko cifara ide u numeraciju u kojoj zemlji. To su zvanicni podaci za sve zemlje, a ti pokupis naravno one koje te zanimaju (meni je npr. trebala samo EU i US). Pobrisi sve delimiters i onda mozes da proveris relativno brzo na osnovu broja cifara jel to samo broj ili ima i area code ili je full broj. Za granicne slucajeve proveris jel postoji taj country i area code i da li se broj preostalih cifara uklapa u numeraciju... ne mozes uvek da budes 100% siguran, ali to cesto ne mozes ni rucno
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 26. 12. 2012. u 05:40. |
26. 12. 2012. | #4 |
profesionalac
Professional
Datum učlanjenja: 08.11.2010
Poruke: 211
Hvala: 68
78 "Hvala" u 32 poruka
|
Ti hoćeš da parsiraš Long number - http://en.wikipedia.org/wiki/Long_number
Klasa za tako nesto ne postoji, ali je uvek možeš napraviti. Prvo ti treba lista svih CountryCod-ova http://www.wtng.info/wtng-ctn.html (-npr.) posle za svaki CountryCode treba da imaš listu operatera u toj zemlji, to možeš uzeti ako parsiraš informacija sa nekih od sajtova kao što je clickatell.com i sl. ima ih dosta. Postoji zvaničan format brojeva koji je u formatu 381631234567, bez + bez ' ' ili bilokakvih karaktera pa trimuj sve svoje brojeve. Standard se može se naći negde na vikipediji. Kad imas sve te informacije možeš krenuti da pišes klasu koja ih koristi .... Ceo broj možđe imati od 6 do 16 cifara, nisam 100% siguran i to možeš naći na wikipediji. |
26. 12. 2012. | #5 |
Ivan Dilber
Sir Write-a-Lot
|
__________________
Leadership is the art of getting people to want to do what you know must be done. |
27. 12. 2012. | #6 | |
Super Moderator
Knowledge base
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
|
Citat:
https://github.com/davideme/libphonenumber-for-PHP Videću kako radi. |
|
26. 12. 2012. | #7 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Ja našao dva gema za ruby, mora da ima i nešto za PHP, u krajnjoj liniji, možeš "pozajmiti" config neke od postojećih pa odraditi samo kod
https://github.com/habermann24/phone...ta/regions.yml
__________________
blog |
"Hvala" jablan za poruku: |
|
|