Mit welchen Regeln würdest du eine australische Telefonnummer validieren?

8

Was kann ich tun, um eine australische Telefonnummer umfassend zu validieren? Ich brauche das für eine Anwendung, die ich schreibe. Sie können davon ausgehen, dass es aus Australien gewählt wird. Ich möchte einen Whitelist-Ansatz verwenden.

Hier sind meine Regeln soweit (nach dem Entfernen von Leerzeichen): -

  1. Beginnt mit 13 und ist 6-stellig lang
  2. Beginnt mit 1300 und ist 10 Ziffern lang
  3. Beginnt mit 0 (aber nicht 0011, da dies internationale Wahl ist) und ist 10 Ziffern lang
  4. Beginnt mit +61 gefolgt von 9 Ziffern
  5. Beginnt mit (0_) gefolgt von 8 Ziffern (wobei _ 1-9 ist)

Gibt es etwas, das ich vermisst habe?

Vorwahlnummern sind erforderlich, da wir möglicherweise ein Fax von unserem Faxserver in einem Zustand senden, wenn sich der Benutzer in einem anderen Status befindet.

(Ich frage nicht, wie man aus den obigen Regeln einen Regexp macht, aber ob diese Regeln korrekt sind).

Siehe auch:
Telefonnummern in Großbritannien
US-Telefonnummern

    
WW. 26.11.2008, 23:14
quelle

6 Antworten

8

Ich habe vor einer Weile eine ähnliche Sache gemacht. Die Wikipedia-Seite, von der Mayhem nicht wusste, war ein guter Ausgangspunkt.

Vor einem Jahr sahen meine Regeln so aus:

%Vor%     
Matthewd 27.11.2008 01:54
quelle
2

Aufbauend auf einigen vorherigen Antworten (und ich werde Regexs verwenden, wie es besser ist):

  1. Entfernen Sie alle Leerzeichen oder übereinstimmende () Paare
  2. Wenn einer der folgenden Übereinstimmungen vorhanden ist, geben Sie die Nummer zurück:
    1. 1 [38] [0-9] {4}
    2. 1300 [0-9] {6}
    3. ([(0), (+ 61)] [23478]) {0,1} [1-9] [0-9] {7}

Beachten Sie, dass die gültigen Bereichscodewerte [23478] sind. Ich habe auch angenommen, dass 1800 Zahlen noch existieren. Ich denke, es könnte 1900 Zahlen auch geben.

Auch 000 und 112 sind gültige Notrufnummern: Je nach Anwendungsfall können Sie diese Nummern explizit zulassen oder ablehnen. Wenn Sie "Dies ist meine Telefonnummer" speichern, sollten Sie wahrscheinlich Notrufnummern nicht zulassen, aber für so etwas wie einen Wählplan sollten Sie sie zulassen.

    
Matthew Schinckel 27.11.2008 02:00
quelle
1

0011 ist nicht der einzige internationale Zugangscode. Wenn Sie beispielsweise per Fax nach Übersee telefonieren, sollten Sie 0015 verwenden. Dadurch wird der Effekt der Sprachausblendung der Komprimierung vermieden, was für Faxe (oder Daten, wenn Sie ein Modem verwenden) nicht gut ist. Meine Bürotelefon-Datenbank hat Vorwahlnummern auf einigen internationalen Faxnummern. Es gibt auch andere spezielle internationale Vorwahlnummern.

Und ich sehe immer noch Handynummern geschrieben als (0411) 123 456

    
DancingFool 27.11.2008 01:27
quelle
1

Eine endgültige Liste finden Sie unter Ссылка

  

Googles gängige Java-, C ++ - und JavaScript-Bibliothek zum Parsen, Formatieren, Speichern und Validieren internationaler Telefonnummern. Die Java-Version ist für den Betrieb auf Smartphones optimiert und wird seit 4.0 (Ice Cream Sandwich) vom Android Framework verwendet.

Sie können es hier testen: Ссылка

Das war viel zu viel für meinen kleinen Job, und ich verallgemeinerte meinen Test, aber diese Bibliothek erlaubt es Ihnen, Ihre Regeln zu testen:)

    
ptim 26.11.2015 10:06
quelle
0

Ich wäre versucht, auch die Klammern zu entfernen. Ich sehe immer noch Telefonnummern, die wie "(0212) 34 5678" geschrieben sind.

Werden immer noch 008 Nummern verwendet? Wie wäre es mit 1800? Ich denke, das ist ein gültiges Präfix ähnlich wie 1300 heutzutage.

    
Matt Hamilton 26.11.2008 23:22
quelle
0

Dies ist wahrscheinlich, was Sie suchen:

Ссылка

Nummerierungsplan für Telekommunikation 1997 Legt einen Rahmen für die Nummerierung von Beförderungsdiensten und die Verwendung von Nummern im Zusammenhang mit der Erbringung von Beförderungsleistungen fest, gibt die Nummern für die Erbringung von Beförderungsleistungen an und schafft einen Rahmen für die Zuteilung und Übertragbarkeit von Nummern.

Es ist ein kurzes Dokument mit 261 Seiten, das alles enthält, was Sie wissen müssen:)

    
wookiebreath 27.11.2008 00:05
quelle

Tags und Links