jeg har dette vbscript, men det skal laves om til javascript.
<%Dim blnFormSubmit, strInputField
strInputField = "envej 40, 1553 - København V."
if Request.ServerVariables("HTTP_REFERER") = "http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") then
blnFormSubmit = true
strInputField = Request.Form("Address")
else
blnFormSubmit = false
end if
%>
<html>
<head>
<title>Address checker - RegEx</title>
</head>
<body>
<form action="AddressChecker.asp" method="post" name="Test">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Indtast adresse </td>
<td><input type="text" name="Address" size="50" value="<%= strInputField %>" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Test adresse" /></td>
</tr>
<%
if blnFormSubmit then
Response.Write "<tr><td colspan=""2""> </td></tr>"
Response.Write "<tr><td colspan=""2"" align=""center"">"
WriteRegTest strInputField
Response.Write "</td></tr>"
end if
%>
</table>
</form>
</body>
</html>
<%
sub WriteRegTest(strInput)
Dim objReg, strStreetName, strStreetNumber, strZipCode, strCityName
strStreetName = "([A-Za-zæøåÆØÅüÜéèÉÈ])+(( )?)([A-Za-zæøåÆØÅüÜéèÉÈ])+(( )?)([A-Za-zæøåÆØÅüÜéèÉÈ])+(( )?)+"
strspace = "(( )?)+(([,-]{1})?)(( )?)+"
strStreetNumber = "[0-9]+( )?(([0-9]?)?)+(([A-Za-z])?)+"
strZipCode = "[0-9]{4}"
strCityName = "([A-Za-zæøåÆØÅüÜéèÉÈ]+( )?)+(\.)?"
Set objReg = new RegExp
objReg.Pattern = "^" & strStreetName & strStreetNumber & strspace & strZipCode & strspace & strCityName & "$"
' objReg.Pattern = "^([A-Za-zæøåÆØÅüÜéèÉÈ]+ )+[0-9]+[A-Za-z]?,( )?[0-9]{4} (\- )?([A-Za-zæøåÆØÅüÜéèÉÈ]+( )?)+(\.)?$"
if objReg.Test(strInput) then
Response.Write "<font style=""color: blue;"">Correct<br />" & strInput & " <a target=""_blank"" href=""http://mysite.dk/query?what=amap"
objReg.Pattern = "^" & strStreetName
Response.Write "&streetname=" & Trim(objReg.Execute(strInput)(0).value)
objReg.Pattern = "^" & strStreetName & "( )?" & strStreetNumber
Response.Write "&streetnumber=" & Right(objReg.Execute(strInput)(0).value, Len(objReg.Execute(strInput)(0).value) - InStrRev(objReg.Execute(strInput)(0).value, "(( )?)"))
objReg.Pattern = "(([,-]{1})?)( )?" & strZipCode
Response.Write "&postal_code=" & Right(objReg.Execute(strInput)(0).value, 4)
objReg.Pattern = strCityName & "$"
Response.Write "&city=" & Right(objReg.Execute(strInput)(0).value, Len(objReg.Execute(strInput)(0).value) - InStrRev(objReg.Execute(strInput)(0).value, "( )?"))
' &postal_code=2100&city= " & strInput
Response.Write """><img src=""Images/billede.gif"" height=""20"" width=""63"" align=""absmiddle"" /></a>"
else
Response.Write "<font style=""color: red;"">Wrong<br />" & strInput
end if
Response.Write "</font><br /><br />"
end sub
%>
Som det er nu, så skal man trykke på knappen for at validere adressen, men jeg vil gerne have lavet det så det tjekker på onkeydown. Altså sådan at det bliver tjekket hele tiden, hvordan kan dette gøres?
kledal
