Esiste uno pseudocodice per la convalida dell'indirizzo o del numero di telefono nel Regno Unito?

StackOverflow https://stackoverflow.com/questions/277211

Domanda

Hai uno pseudocodice per la convalida sul campo dei seguenti articoli nel Regno Unito? Vengo dagli Stati Uniti, quindi conosco solo quelli negli Stati Uniti in questo momento.

  • Riga indirizzo 1
  • Numero di telefono
  • Numero di cellulare (nel caso in cui abbiano una regola speciale per questo, che potrebbero non avere)
  • Codice postale
È stato utile?

Soluzione

Riga 1 dell'indirizzo, se si desidera convalidare ciò che l'utente ha inserito a mano libera, probabilmente si viene eliminati. C'è un'enorme variabilità. È possibile utilizzare il file di indirizzo PostCode (vedi sotto) per fornire assistenza,

In genere, se si desidera un " standard " indirizzo, i siti web orientati al Regno Unito chiedono il codice postale, quindi chiedono all'utente di scegliere l'indirizzo corretto tra tutti gli indirizzi di quel codice postale

Numeri di telefono e mobili. Vedi qui http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom . Uno script per convalidare questi (in diverse lingue) è disponibile qui: http: // www .braemoor.co.uk / software / telnumbers.shtml

Formato del codice postale: http://en.wikipedia.org/wiki/UK_postcodes (contiene un'espressione regolare per la convalida e fa riferimento al file dell'indirizzo del codice postale che elenca gli indirizzi validi)

Altri suggerimenti

La riga dell'indirizzo 1 potrebbe essere praticamente qualsiasi cosa. Non ci sono sempre numeri civici.

Numeri di telefono: la lunghezza di un prefisso varia. Non vorrei giurare se l'intera lunghezza è costante, ma sospetto che siano sempre almeno 10 cifre. I numeri mobili in genere (IME) iniziano con 07, mentre i numeri fissi iniziano in genere con 01 o 02. I numeri speciali (gratuito, tariffa locale, ecc.) In genere iniziano con 08. Cercherò di trovare un riferimento per questo. (EDIT: Ancora una volta, c'è un buon Articolo di Wikipedia .)

Wikipedia ha un un buon articolo sui codici postali del Regno Unito , comprese le espressioni regolari per loro.

Perl ha il Number :: Phone in grado di gestire i numeri di telefono del Regno Unito. Royal Mail offre servizi per la convalida dell'indirizzo e la pulizia dell'elenco.

Per i numeri di telefono del Regno Unito, la soluzione migliore (purtroppo) è probabilmente quella di scaricare i piani di numerazione da Ofcom (sono fogli di calcolo Excel, con tutte le gamme di numeri rilevanti, suddivisi in prefissi, "numeri geografici", numeri personali , numeri di cellulare, numeri di servizio assortiti, i diversi numeri di pagamento e hanno anche una mappatura dall'intervallo di numeri all'operatore (quest'ultimo probabilmente NON è qualcosa di cui hai bisogno, però).

Come sempre con questo tipo di domande, non rimanere bloccati su una convalida eccessiva. Controlla gli ingressi più probabilmente malformati, quindi vai avanti. Cercare di tenere traccia di quali prefissi e lunghezze del numero di telefono sono in uso in un determinato locale è un enorme spreco di tempo. Lasciare passare alcuni errori, probabilmente risolvibili, è meglio che perdere clienti dicendo loro che sono "non validi".

(Il più vicino a un formato di indirizzamento standard che si ottiene nel Regno Unito è il codice postale più il numero civico. Anche allora ci sono sempre delle eccezioni.)

Ho avviato il codice (o almeno una serie di schemi RegEx) per la convalida dei moduli Django per i numeri di telefono GB qui .
Con una spiegazione di base qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top