以下是一個用戶注冊信息驗證的一個程序。里面有郵件合法性的驗證。(可以取出不合法的字符和不合法的原因)
_______________________________________________________________
<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>