以下是一个用户注册信息验证的一个程序。里面有邮件合法性的验证。(可以取出不合法的字符和不合法的原因)
_______________________________________________________________
<script language=javascript>
//检查用户ID
function check(){
doc=document.register;
if(doc.username.value==""){
alert('请填写你登陆时的ID!');
doc.username.focus();
return false;
}
var n=doc.username.value.length;
//var zm=doc.username.value.charCodeAt(0);
var tempmsg="";
//alert(zm);
for(var i=0;i<n;i++){
var zm=doc.username.value.charCodeAt(i);
if(!((zm>=48&&zm<=57)||(zm>=65&&zm<=90)||(zm>=97&&zm<=122))){
tempmsg+="\""+doc.username.value.charAt(i)+"\",";
var flag=1;
}
}
if(flag){
alert('您输入的ID中包含下列不合法的字符:'+tempmsg);
doc.username.focus();
return false;
}
//检查用户真实姓名
if(doc.name.value==""||doc.name.value.length<2){
alert('请输入你的真实姓名!');
doc.name.focus();
return false;
}
n=doc.name.value.length;
tempmsg="";
for(i=0;i<=n;i++){
zm=doc.name.value.charCodeAt(i);
if(zm<=255){
tempmsg+="\""+doc.name.value.charAt(i)+"\",";
var flag=1;
}
}
if(flag){
alert('您的名字中不能包含如下字符:'+tempmsg);
doc.name.focus();
return false;
}
//检查密码
if(doc.password.value==""){
alert('请输入你的密码!');
doc.password.focus();
return false;
}
//检查E-mail
if(doc.email.value==""){
alert('请输入你的E-mail!');
doc.email.focus();
return false;
}
if(doc.email.value.indexOf("@")==-1){
alert('请输入你的正确E-mail,必须包括“@”!');
doc.email.focus();
return false;
}
tempmsg=doc.email.value.substring(0,doc.email.value.indexOf("@"));
if(tempmsg.length<3){
alert('请输入你的完整的E-mail!\"@\"前面的字符长度不能小于3位!');
doc.email.focus();
return false;
}
if(!((doc.email.value.indexOf(".com")!=-1)||(doc.email.value.indexOf(".net")!=-1)||(doc.email.value.indexOf(".net")!=-1)||(doc.email.value.indexOf(".edu")!=-1))){
alert('请输入你邮箱的后缀名!后缀名为小写!');
doc.email.focus();
return false;
}
tempmsg=doc.email.value.substring((doc.email.value.indexOf("@")+1),doc.email.value.indexOf("."));
if(tempmsg.length<2){
alert('请输入你邮箱的完整形式!\"@\"和\".\"之间的字符长度不小于2');
doc.email.focus();
return false;
}
//检测电话号码
//检测区号
if(doc.phone1.value.length!=0||doc.phone2.value.length!=0){
if(doc.phone1.value.length<3){
alert("请正确输入区号");
doc.phone1.focus();
return false;
}

if(doc.phone1.value.indexOf(0)!=0) {
alert("区号第一位必须是0");
doc.phone1.focus();
return false;
}
n=doc.phone1.value.length;
tempmsg="";
for(i=0;i<n;i++){
zm=doc.phone1.value.charCodeAt(i);
if(zm<48||zm>57){
tempmsg+="\""+doc.phone1.value.charAt(i)+"\",";
flag=1;
}
}
if(flag){
alert("你输入的区号中包括以下非法字符"+tempmsg);
doc.phone1.focus();
return false;
}
}

//检测电话
if(doc.phone1.value.length!=0||doc.phone2.value.length!=0){
n=doc.phone2.value.length;
tempmsg="";
for(i=0;i<n;i++){
zm=doc.phone2.value.charCodeAt(i);
if(zm<48||zm>57){
tempmsg+="\""+doc.phone2.value.charAt(i)+"\",";
flag=1;
}
}
if(flag){
alert("你输入的电话号码中包括以下非法字符"+tempmsg);
doc.phone2.focus();
return false;
}
if(doc.phone2.value.length<7){
alert("请输入电话号码!");
doc.phone2.focus();
return false;
}

}
}
</script>