2016-07-27 7 views
-1

Ich habe Zeichenfolge wie diese May Business Park E2 No. 12, Jakarta, Indonesia 11620 +6281932539817 und meine regex ist (.*)\b\d{5}\b([\d\+\s\(\)\-\/]{7,}) aber es gibt mir:PHP Regex Name aufzuspalten und Adresse

May Business Park E2 No. 12, Jakarta, Indonesia

11620 -> spaltete die zipcode

+6281932539817 -> spaltete sich die Telefonnummer

Wie Sie sehen können, dass der Name und die Adresse nicht wie erwartet aufgeteilt werden. Was habe ich verpasst? und auch, ich benutze den Ländercode in der Telefonnummer, irgendwelche besseren Ideen?

+1

zu verarbeiten, die eine ist 'name'? – choz

+0

Splitting oder Matching? Können Sie bitte den wesentlichen Teil Ihres Codes hinzufügen? – Mariano

+0

'Mai' ist der Name. Ich benutze Regex, um festzustellen, welcher Name, Adresse, Postleitzahl und Telefonnummer in einem Satz @choz – may

Antwort

0

Sie können dies tun, so groß wie die Anzahl der Zeichen in der zipcode folgt und der Telefonnummer sind konstant über alle Daten, die Sie gehen

var str = "May Business Park E2 No. 12, Jakarta, Indonesia 11620 +6281932539817"; 
var lastTwenty = id.substr(id.length - 20); 
//This will give you "11620 +6281932539817" 
var phoneNumber = id.substr(6,19); 
//This will give you the phone number "+6281932539817" 
var zipcode = lastTwenty.substr(0,4); 
//This will give you the zipcode "11620"