JavaScript en reguliere expressies voor postcodes

JavaScript en reguliere expressies voor postcodes


Is het raadzaam bij het maken van HTML-formulieren om door de gebruiker ingevulde gegevens te valideren. Een best practice voor de validatie van het veld Postcode is te testen tegen een reguliere expressie om te bepalen of het voldoet aan de regels voor de postcodes van het geselecteerde land. JavaScript is de taal meest vaak gebruikt voor het ophalen van gegevens uit HTML-formulieren en valideren van input van de gebruiker met behulp van reguliere expressies.

Reguliere expressies

Reguliere expressies zijn de ideale tool te gebruiken om te bepalen of een postcode invoer van de gebruiker aan de regels van de postcode in een bepaald land voldoet. Reguliere expressies kunnen u definiëren een patroon met behulp van een aangepaste syntaxis, overeenkomen met een tekenreeks naar het patroon, bepalen als de reeks aan de patroon voldoet en uittreksel overeenkomende delen van tekenreeksen en deelverzamelingen van het patroon. De volgende reguliere expressie definieert bijvoorbeeld een aanvaardbaar Amerikaanse postcode die bestaat uit vijf cijfers en eventueel een scheutje en vier extra cijfers:

↑ \d{5}([-]\d{4})? $

JavaScript

JavaScript is de taal die u wilt gebruiken voor het valideren van de input van de gebruiker, omdat het draait op de clientcomputer. Dit betekent dat gebruikersinvoer kan worden gevalideerd en berichten kunnen worden weergegeven zonder te verzenden van gegevens naar een webserver of een webpagina vernieuwen. Met JavaScript, kunt u de huidige waarde van een veld in een HTML-formulier met behulp van de hiërarchie van de Document Object Model (DOM) van een webpagina. Bijvoorbeeld het volgende codefragment wordt opgeslagen van de huidige waarde van het "post" veld op een HTML-formulier met de naam "input" in een variabele met de naam "posterijen:"

var post = document.input.postal.value;

Verklaren van reguliere expressies

In JavaScript, wordt een reguliere expressie gemaakt door het patroon in de slash-tekens. De volgende JavaScript-instructie declareert bijvoorbeeld een variabele met het reguliere-expressiepatroon gebruikt voor het valideren van een Canadese postcode:

var caRegex = / ^ \d [ABCEGHJKLMNPRSTVXY] {1} {1} [A-Z] {1} * \d{1}[A-Z]{1}\d{1}$/;

Reguliere expressie methoden

JavaScript heeft ingebouwde methoden die het gebruik van reguliere expressies ondersteunen. De "match"-methode retourneert "waar" of "onwaar" om aan te geven of de waarde van een variabele overeenkomt met een reguliere-expressiepatroon. De "exec"-methode wordt gebruikt om delen van een tekenreeks die overeenkomen met de deelverzamelingen van reguliere-expressiepatronen. Bijvoorbeeld, wijst de volgende code "true" of "false" aan een variabele, volgens of de waarde van de input van de gebruiker van een Amerikaanse postcode overeenkomt met het reguliere-expressiepatroon waarin geldige Amerikaanse postcodes:

var overeenkomt met = false;
Als (/^\d{5}([-]\d{4})?$/.match(document.input.postal.value)) {}
komt overeen met = true;
}