2010-11-25 12 views
2

Indische Festnetz-Telefonnummern sind in einem der folgenden Formate.Regulärer Ausdruck für das indische Festnetz Telefonnummern

080 25478965 
0416-2565478 
08172-268032 

Was ist die einfachste Regex, um all diese aufzunehmen. Der Abstand zwischen dem Stadtcode und der Telefonnummer kann ein Leerzeichen oder ein "-" sein. Es wäre großartig, wenn die Regex den Fall ohne das Trennzeichen zwischen dem Stadtcode und der Telefonnummer aufnehmen könnte.

Antwort

2

Ich würde wahrscheinlich nurverwenden, wenn Sie die Anzahl der Stellen usw. nicht überprüfen müssen. Wenn Sie beide Teile trennen möchten: /^(\d+)[ \-]+(\d+)$/

+0

Das wäre mein Ansatz auch. Vielen Dank! –

4

Für diese drei Formate genau:

^\d{3}([ -]\d\d|\d[ -]\d|\d\d[ -])\d{6}$ 

anderen, freieren Option ist, einen Raum oder einen Bindestrich nach jeder Ziffer zu ermöglichen (außer vielleicht letzten):

^(\d[ -]?){10}\d$ 
0
^[\d]{3,4}[\-\s]*[\d]{6,7}$ 

Dies würde [3-4 Ziffern] [Null zu viele Bindestriche und Leerzeichen] [6-7 Ziffern]