OK, I have a JS which validates the correct format for postcodes (or zip) on an html form - works fine.
But what I want to do is to use a JS to see if a website visitor is eligible for a particular service on their postcode / zip - ie the first general part on the code. For example if they type L15****, or L16**** or L18**** (where the asterisk could be anything) it pops up the alert box with a message saying "Yes eligible" but any other code returns "No sorry not eligible" - eg L19**** it returns nope.
I've tried hacking the code that validates to format and can manage it for just the first character - ie the L but I'm totally lost after that. I don't know if hacking the below will work.
I'm guessing I might need to add in an array of 'eligible' variables - but not sure.
function checkPostCode (toCheck) {
// Permitted letters depend upon their position in the postcode.
var alpha1 = "[l]"; // Character 1
var alpha2 = "[abcdefghklmnopqrstuvwxy]"; // Character 2
var alpha3 = "[abcdefghjkpmnrstuvwxy]"; // Character 3
var alpha4 = "[abehmnprvwxy]"; // Character 4
var alpha5 = "[abdefghjlnpqrstuwxyz]"; // Character 5
// Array holds the regular expressions for the valid postcodes
var pcexp = new Array ();
// Array holds the regular expressions for the valid postcodes
var pcexp = new Array ();
// Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
// Expression for postcodes: ANA NAA
pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
// Expression for postcodes: AANA NAA
pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "{1}" + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
// Load up the string to check
var postCode = toCheck;
// Assume we're not going to find a valid postcode
var valid = false;
// Check the string against the types of post codes
for ( var i=0; i<pcexp.length; i++) {
if (pcexp[i].test(postCode)) {
// Load new postcode back into the form element
valid = true;
// Remember that we have found that the code is valid and break from loop
break;
}
}
// Return with either the reformatted valid postcode or the original invalid
// postcode
if (valid) {return postCode;} else return false;
}