2008-11-10 15 views
6

Haben Sie einen Pseudocode für die Feldvalidierung der folgenden Artikel in Großbritannien? Ich komme aus den USA und kenne nur die in den USA.Gibt es Pseudocode für UK-Adresse oder Telefonnummer Validierung?

  • Adresszeile 1
  • Telefonnummer
  • Mobile Number (im Fall, dass sie eine spezielle Regel für das, was sie vielleicht nicht)
  • Postleitzahl
+1

Das ist schön, löschen Sie meine Kommentare ... – leppie

Antwort

5

Adresszeile 1, wenn Sie validieren möchten, was der Benutzer Freiform eingegeben hat, sind Sie wahrscheinlich abgespritzt. Es gibt eine große Variabilität. Sie können die PostCode-Adressdatei (siehe unten) zur Unterstützung verwenden.

Wenn Sie eine "Standard" -Adresse wünschen, fragen UK-orientierte Websites normalerweise nach der Postleitzahl und fordern den Benutzer dann auf, die richtige Adresse aus allen Adressen auszuwählen an dieser Postleitzahl

Telefon- und Handynummern. Siehe hier http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom. Ein Skript diese zu validieren (in verschiedenen Sprachen) sind hier zu finden: http://www.braemoor.co.uk/software/telnumbers.shtml

PLZ Format: http://en.wikipedia.org/wiki/UK_postcodes (einen regulären Ausdruck für die Validierung und bezieht sich auf die PLZ Adresse Datei enthält, die gültigen Adressen auflistet)

4

Adresszeile 1 konnte sei fast alles. Es gibt nicht immer Hausnummern.

Telefonnummern: Die Länge einer Vorwahl variiert. Ich möchte nicht schwören, ob die Gesamtlänge konstant ist, aber ich vermute, es sind immer mindestens 10 Ziffern. Mobile Nummern (IME) beginnen normalerweise mit 07, während Festnetzanschlüsse typischerweise mit 01 oder 02 beginnen. Spezielle Nummern (kostenlos, lokale Rate usw.) beginnen normalerweise mit 08. Ich werde versuchen, eine Referenz dafür zu finden. (BEARBEITEN: Auch hier gibt es eine gute Wikipedia article.)

Wikipedia hat eine good article about UK postcodes, einschließlich regulärer Ausdrücke für sie.

+0

"Ich würde nicht gerne schwören, ob die volle Länge konstant ist" ist es nicht. Ich bekomme oft gesagt, dass meine Hausnummer eine Ziffer fehlt, wenn ich sie über das Telefon gebe. Es ist nicht. :) –

3

Perl hat das Number::Phone Modul, das britische Telefonnummern behandeln kann. Royal Mail verfügt über Dienste zur Adressvalidierung und Listenbereinigung.

1

Für britische Telefonnummern ist die beste Wette (leider) wahrscheinlich, die Nummerierungspläne von Ofcom herunterzuladen (sie sind Excel-Tabellen mit allen relevanten Nummernbereichen, aufgeteilt in Ortskennzahlen, "geografische Nummern", persönliche Nummern) , Handynummern, sortierte Servicenummern, die verschiedenen Pay-for-Nummern und haben auch eine Zuordnung von Nummernbereich zu Operator (letzteres ist wahrscheinlich NICHT etwas, was Sie brauchen)

1

Wie immer mit dieser Art von Frage, don Überprüfen Sie, ob die höchstwahrscheinlich missgebildeten Eingaben vorhanden sind, und fahren Sie dann fort. Der Versuch, zu verfolgen, welche Präfixe und Längen der Telefonnummer in einem bestimmten Gebietsschema verwendet werden, ist eine enorme Verschwendung Ihrer Zeit. Ein paar, möglicherweise feststellbare Fehler durchzulassen ist besser als lo Singen Sie Kunden, indem Sie ihnen sagen, dass sie "ungültig" sind.

(Die nächste zu einem Standard-Adressierungsformat Sie in Großbritannien erhalten, ist Postleitzahl und Hausnummer. Aber auch dann gibt es immer Ausnahmen.)

0

Ich habe den Code (oder zumindest ein Bündel von RegEx-Mustern gestartet) für Django Formulare Validierung für GB Telefonnummern here.
Mit einer grundlegenden Erklärung here.