Ich brauche einen regulären Ausdruck, der in PHP und JavaScript funktioniert, um Neuseelands lokale, mobile und freecall (0800) Telefonnummern zu validieren.Regulärer Ausdruck, um Neuseeland-Telefonnummern zu validieren
Matches: (09)1234567, (021)123456, (021)1234567, (027)123456, 0800 12345, 0800 1234578
Non-Matches: (09)123456 , (021)12345 , (031)1234567, (027)12345 , 0800-1234, 080
Unten finden Sie ein regulärer Ausdruck die ich im Internet gefunden, aber es scheint nicht aus irgendeinem Grund zu arbeiten:
(^ ([0] \ d {1})) (\ d {7 } $) | (^ ([0] [2] \ d {1})) (\ d {6,8} $) | ([0] [8] [0] [0]) ([\ s]) (\ d {5,8} $)
Kann jemand bitte mit dem obigen Ausdruck helfen? Danke im Voraus für Ihre Hilfe.
UPDATE - ich arbeitete es aus und die Lösung unter:
$phone_number = preg_replace('/[^\d\(\)]/', '', $phone_number);
$pattern = '/^(\((03|04|06|07|09)\)\d{7})|(\((021|022|025|027|028|029)\)\d{6,8})|((0508|0800|0900)\d{5,8})$/';
Das sieht gut aus und ich habe es in PHP versucht, aber es hat aus irgendeinem Grund nicht funktioniert. Jeder kann helfen? – Chris
@Chris: Ich kann nur sagen, dass der Ausdruck selbst funktioniert (http://rubular.com/r/ynr28Fcwui). Sie sollten sich die PHP-Dokumente ansehen. – Tomalak