| Added: January/29/2005 at 1:46pm | IP Logged
|
|
|
Christopher
Found this but I dont really know what to do with it or even if its the right thing.
<% '=========================================================== ==================='
' Application: Utiity Function ' Author:   ; John Gardner ' Date: & nbsp; 20th December 2004 ' Description: Used to check the validity of a postcode ' QueryString: None ' Version: V1.0
' Required routines: &nb sp; None '----------------------------------------------------------- -------------------'
function Check_Postcode (byRef strPostcode)
' This routine checks the value of the form element specified by the parameter ' for a valid postcode.
' The definition of a valid postcode has been taken from: ' http:'www.royalmail.com/docContent/other/Downloadable_Files/ PAF_Digest_Issue_5_0.pdf
' If the element is a valid postcode, the function value is returned as TRUE ' and the postcode is returned in uppercase with the separating space in the ' right place.
Dim strPostcodeRegExp(2) ' holds the regular expressions for valid postcodes Dim intCount &nbs p; ' For loop counter Dim strPostcodeCopy ' Copy of postcode ' Variables used to hold regular expression object Dim objRegExp, objMatches, objMatch ' Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA strPostcodeRegExp(0) = "^([a-z]{1,2}[0-9]{1,2})([0-9]{1}[abdefghjlnpqrstuwxyz]{2})$"
' Expression for postcodes: ANA NAA, and AANA NAA strPostcodeRegExp(1) = "^([a-z]{1,2}[0-9]{1}[a-z]{1})([0-9]{1}[abdefghjlnpqrstuwxyz]{2})$" ' Exception for the special postcode GIR 0AA strPostcodeRegExp(2) = "^(gir)(0aa)$"
' Copy the parameter and convert into lowercase strPostcodeCopy = Lcase(strPostCode) ' Assume we're not going to find a valid postcode Check_Postcode = false ' Strip out spaces strPostcodeCopy = Replace (strPostcodeCopy, " ", "") Check_Postcode = False Set objRegExp = New RegExp ' Check the string against valid types of post codes For intCount = 0 to Ubound(strPostCodeRegExp) ' Check next pattern in list objRegExp.Pattern = strPostcodeRegExp(intCount) If objRegExp.Test (strPostcodeCopy) Then ' Post code found. Ensure input parameter is in correct format. Set objMatches = objRegExp.Execute (strPostcodeCopy) Set objMatch = objMatches(0) strPostcodeCopy = Ucase (objMatch.subMatches (0)) & " " & Ucase (objMatch.subMatches (1)) ' Show that we have found the postcode Check_Postcode = True End if Next ' Ensure that the uppercase postcode gets returned if valid If Check_Postcode Then strPostcode = strPostcodeCopy End Function %>
regards
John
|