
La seguente espressione regolare permette di testare un codice postale francese nel formato «DDDDD». Si usano tutte le cifre. Le prime due indicano il dipartimento e vanno da 01 a 98. Il codice qui sotto è l’espressione regolare di un codice postale, per verificare se il formato è corretto.
espressione regolare codice postale
/^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/Ti propongo anche diverse espressioni regolari di codici postali a seconda del paese: ti basta sostituire l’espressione con quella che ti serve.
Belgio
Codici postali nel formato «DDDD»: la prima cifra rappresenta la provincia, le altre i settori di distribuzione. I codici postali non iniziano con zero.
/^(?:(?:[1-9])(?:\d{3}))$/Svizzera
Quattro cifre: la prima è il distretto, la seconda la zona, la terza il percorso, la quarta il numero dell’ufficio postale.
/^[1-9]\d{3}$/Regno Unito
Schema del codice postale britannico
/^(?:GIR 0AA|(?:(?:(?:A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGK-PRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?\d|(?:(?:E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(?:SW|W)(?:[2-9]|[1-9]\d)|EC[1-9]\d)\d[ABD-HJLNP-UW-Z]{2}))$/iGermania
Codici postali nel formato «DDDDD». Si usano tutte le cifre. La prima corrisponde alla zona di distribuzione, la seconda alla regione di distribuzione. Le altre indicano il distretto di recapito e la località postale.
/^\d{5}$/Spagna
Cinque cifre: le prime due indicano la provincia. Terza cifra: grande città. Ultime due cifre: le zone rurali.
/^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$/Italia
Prima cifra: regione. Seconda cifra: provincia. Terza cifra: capoluogo o provincia (dispari per il capoluogo). Quarta cifra: itinerario. Quinta cifra: località dell’itinerario (0 per le località piccole).
/^\d{5}$/Stati Uniti
Codici postali nel formato «DDDDD» o «DDDDD-DDDD». Si usano tutte le cifre e nessuna ha un significato particolare.
/^(?:GIR 0AA|(?:(?:(?:A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGK-PRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?\d|(?:(?:E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(?:SW|W)(?:[2-9]|[1-9]\d)|EC[1-9]\d)\d[ABD-HJLNP-UW-Z]{2}))$/iVersione JavaScript dell’espressione regolare per un codice postale
Il formato di codice postale valido è «DDDDD». La funzione riceve il codice postale come parametro e lo confronta con l’espressione regolare. Se non trova nessuna corrispondenza la validazione fallisce e restituisce false, se la trova, restituisce true.
Funzione JavaScript di un’espressione regolare per il codice postale
/**
* Valida un codice postale con un'espressione regolare
*
* Se il codice postale non è valido, restituisce false
*
* @param postcode
* @return Boolean
*/
function validatePostcode(postcode){
var Reg = new RegExp(/^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/i);
return Reg.test(postcode);
}Come usare la funzione JavaScript
Il modo migliore di usarla è dentro una condizione IF, come qui sotto.
if(validatePostcode(postcode)){
alert("Code postal valide");
} else {
alert("Code postal invalide");
}
See the Pen
Untitled by Damien Flandrin (@dam62500)
on CodePen.0
Versione PHP dell’espressione regolare per un codice postale
Per essere sicuro dei codici postali, oltre al controllo lato front conviene validare anche sul server. Ecco uno snippet PHP per validare i codici postali lato server.
Funzione PHP di un’espressione regolare per il codice postale
/*
* valida il codice postale
* @param $postcode
*/
function isValidPostcode($postcode)
{
return preg_match('/^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/i', $postcode);
}Versione HTML
In HTML si possono creare campi che verificano se il valore è valido con l’attributo pattern di <input>: lì puoi indicare l’espressione regolare di un codice postale. Attenzione, serve solo a mostrare l’informazione visivamente all’utente, per esempio con dei bordi rossi.
<input
name="postcode"
type="text"
pattern="(?:0[1-9]|[1-8]\d|9[0-8])\d{3}"
placeholder="DDDDD"
/>
See the Pen
Valider un code postal avec une expression régulière en HTML by Damien Flandrin (@dam62500)
on CodePen.0


