表单验证做网站程序多多少少都会碰到,其中emai地址的合法性验证也算是一个典型的例子,网页表单的验证我们一般是先在客户端使用javascript代码来处理,这样可以为减少服务器的负担,当然一些重要的表单项我们还应该在服务器端也加上验证。
下面是表单email地址的验证,使用javascript代码:
if (document.form1.email.value.charAt(0)=="." ||
document.form1.email.value.charAt(0)=="@"||
document.form1.email.value.indexOf('@', 0) == -1 ||
document.form1.email.value.indexOf('.', 0) == -1 ||
document.form1.email.value.lastIndexOf("@")==document.form1.email.value.length-1 ||
document.form1.email.value.lastIndexOf(".")==document.form1.email.value.length-1)
{
alert("Email地址格式不正确!");
document.form1.email.focus();
return false;
}
下面是asp(vbscript)服务器端验证的函数(呵呵,代码好像有点长):
function IsValidEmail(email)
dim names, name, i, c
’Check for valid syntax in an email address.
IsValidEmail = true
names = Split(email, "@")
if UBound(names) <> 1 then
IsValidEmail = false
exit function
end if
for each name in names
if Len(name) <= 0 then
IsValidEmail = false
exit function
end if
for i = 1 to Len(name)
c = Lcase(Mid(name, i, 1))
if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
IsValidEmail = false
exit function
end if
next
if Left(name, 1) = "." or Right(name, 1) = "." then
IsValidEmail = false
exit function
end if
next
if InStr(names(1), ".") <= 0 then
IsValidEmail = false
exit function
end if
i = Len(names(1)) - InStrRev(names(1), ".")
if i <> 2 and i <> 3 then
IsValidEmail = false
exit function
end if
if InStr(email, "..") > 0 then
IsValidEmail = false
end if
end function
请稍等,评论加载中...