Javascript substring met Regular expressions

  • Onderwerp starter Onderwerp starter Fyza
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Fyza

Nieuwe gebruiker
Lid geworden
30 jan 2007
Berichten
1
Hallo,

Ik probeer een postcode te valideren, alleen lukt dit niet echt. Volgens mij doe ik iets wat niet mag of wat niet werkt. Als ik eerst 4 cijfers invoer blijft "Fout" staan, terwijl dit niet moet.

Dit is de code :

if (postcode.substring(0,3) != postcode.match(/^\d\d\d\d/))
{
controle = false;
error_postcode = document.getElementById("error_postcode");
error_postcode.innerHTML = "Fout";
}
else if(postcode.substring(0,3) == postcode.match(/^\d\d\d\d/))
{
controle = true;
error_postcode = document.getElementById("error_postcode");
error_postcode.innerHTML = "";
}

Mvg,

Fyza
 
Dit controleerd een postcode:

var f = document.forms[0]; // formulier variabele
f.postcode.value = f.postcode.value.replace(/ /g,'').toUpperCase();
if (!f.postcode.value.match(/^[1-9]\d{3}[A-Z]{2}$/)) {
// foutmelding
};


De reguliere expressie is: /^[1-9]\d{3}[A-Z]{2}$/ en dat keurt de postcodes 1000AA t/m 9999ZZ goed. Het script verwijdert ook nog de spaties uit het postcode veld en zet het in hoofdletters. :)

if (postcode.substring(0,3) != postcode.match(/^\d\d\d\d/))
Het resultaat van een .match() is true of false, en beide zijn ongelijk aan een string, dus daar ging het fout.


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan