怎样对E-Mail的输入尽可能完善地检查

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
---------------------------------------------------------------

很详细的表单检测代码:

  1<script language="javascript">   
  2function IsDigit(cCheck)   
  3{   
  4return (('0'<=cCheck) && (cCheck<='9'));   
  5}   
  6  
  7function IsAlpha(cCheck)   
  8{   
  9return ((('a'<=cCheck) && (cCheck<='z')) ¦ ¦ (('A'<=cCheck) && (cCheck<='Z')))   
 10}   
 11  
 12function IsaNull(cCheck)   
 13{   
 14return(cCheck != " ")   
 15}   
 16  
 17function checkform()   
 18{   
 19strUserID = document.sform1.username.value;   
 20if (strUserID == "")   
 21{   
 22alert("请输入注册名");   
 23document.sform1.username.focus();   
 24return false;   
 25}   
 26  
 27for (nIndex=0; nIndex<strUserID.length; nIndex++)   
 28{   
 29cCheck = strUserID.charAt(nIndex);   
 30if (!(IsDigit(cCheck) ¦ ¦ IsAlpha(cCheck) ¦ ¦ cCheck=='-' ¦ ¦ cCheck=='_' ¦ ¦ cCheck=='.'))   
 31{   
 32alert("用户名只能使用字母、数字以及-、_和.,并且不能使用中文");   
 33document.sform1.username.focus();   
 34return false;   
 35}   
 36}   
 37  
 38  
 39  
 40if (document.sform1.userpassword.value == "")   
 41{   
 42alert("请输入密码.");   
 43document.sform1.userpassword.focus();   
 44return (false);   
 45}   
 46  
 47if (document.sform1.userpassword.value.length > 12)   
 48{   
 49alert("密码长度应小于12.");   
 50document.sform1.user_password.focus();   
 51return (false);   
 52}   
 53  
 54if (document.sform1.userpassword.value != document.sform1.password2.value)   
 55{   
 56alert("两次密码不相同,请重新输入密码.");   
 57document.sform1.password2.focus();   
 58return (false);   
 59}   
 60if (document.sform1.email.value == "")   
 61{   
 62alert("请输入您的E-MAIL地址");   
 63document.sform1.email.focus();   
 64return false;   
 65}   
 66if (document.sform1.email.value.length >50 )   
 67{   
 68alert("您输入的E-MAIL地址不能大于50个字符,否则超出部分会被截断");   
 69document.sform1.email.focus();   
 70return false;   
 71}   
 72  
 73  
 74  
 75personnm=document.sform1.personalid.value;   
 76if (personnm=="")   
 77{   
 78alert("您的证件号码不能为空");   
 79document.sform1.personalid.focus();   
 80return false;   
 81}   
 82else   
 83{   
 84var i;   
 85for(var i=0;i<document.sform1.perid.length;i++)   
 86{   
 87if (document.sform1.perid[0].checked)   
 88{   
 89if ((personnm.length != 15) && (personnm.length != 18))   
 90{   
 91alert("您的身份证号码必须是15位或18位的数字");   
 92document.sform1.personalid.focus();   
 93return false;   
 94}   
 95}   
 96}   
 97}   
 98  
 99strUseroicq = document.sform1.oicq.value;   
100//if (strUseroicq == "")   
101// {   
102// alert("OICQ不能为空!");   
103// document.sform1.oicq.focus();   
104// return false;   
105// }   
106  
107//for (nIndex=0; nIndex<strUseroicq.length; nIndex++)   
108// {   
109// cCheck = strUseroicq.charAt(nIndex);   
110// if (!(IsDigit(cCheck)))   
111// {   
112// alert("OICQ只能使用数字");   
113// document.sform1.oicq.focus();   
114// return false;   
115// }   
116// }   
117  
118  
119sname=document.sform1.realname.value;   
120if (sname == "")   
121{   
122alert("请输入您的真实姓名");   
123document.sform1.realname.focus();   
124return false;   
125}   
126  
127for (nIndex=0; nIndex<sname.length; nIndex++)   
128{   
129cCheck = sname.charAt(nIndex);   
130if (!(IsaNull(cCheck)))   
131{   
132alert("真实姓名不能是空格");   
133document.sform1.realname.focus();   
134return false;   
135}   
136}   
137  
138nian=document.sform1.y1.value   
139if ((nian == "") ¦ ¦ (nian.length!=4))   
140{   
141alert("请输入您的生日");   
142document.sform1.y1.focus();   
143return false;   
144}   
145if (document.sform1.tel.value == "")   
146{   
147alert("请输入您的电话");   
148document.sform1.tel.focus();   
149return false;   
150}   
151if (document.sform1.address.value == "")   
152{   
153alert("请输入您的地址");   
154document.sform1.address.focus();   
155return false;   
156}   
157  
158  
159  
160  
161return true;   
162  
163}   
164  
165function clickc()   
166{   
167if (document.sform1.perid.checked==1)   
168{   
169//document.sform1.perid.disabled=0;   
170document.sform1.perid.value=0;   
171}   
172//else   
173// {   
174// document.sform1.personalid.disabled=1;   
175// document.sform1.personalid.value='*可凭自己的身份证取回丢失的密码*';   
176// }   
177}   
178  
179</script>

---------------------------------------------------------------

js版的,自己改vbs吧,用法就是text1.value.isEmail();

String.prototype.isEmail=function(){
var regu = "^(([0-9a-zA-Z]+) ¦([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2} &brvbarnet &brvbarNET &brvbarcom &brvbarCOM &brvbargov &brvbarGOV &brvbarmil &brvbarMIL &brvbarorg &brvbarORG &brvbaredu &brvbarEDU &brvbarint &brvbarINT)$";
var re = new RegExp(regu);
return ((this.search(re)!=-1)?true:false);
}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus