//用于表单验证的函数
function checkForm()
{
var user=document.forms[0]["username"].value;//取得用户填写的密码
var pass=document.forms[0]["password"].value;//取得用户填写的密码
var pass1=document.forms[0]["password1"].value;//取得确认密码
var mail=document.forms[0]["e_mail"].value;//取得电子邮件
var chkCode=document.forms[0]["checkCodeStr"].value;//取得验证码
//=================验证用户名==================================
if(!checkUser(user))return false;
//=====================验证密码==================================
if(!checkPass(pass,pass1))return false;
//==========================验证电子邮件========================
if(!checkMail(mail))return false;
//======================验证验证码==========================
if(!checkChkCode(chkCode))return false;
return true;
}
//==============================================================================================
//检查用户名的的函数============================
function checkUser(user)
{
var strings="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";//用户名和密码允许的字符
var nums="0123456789";
var errMsg="";//存放错误信息的字符串
//检查用户名是否填写
if(user=="") { showErrMsg("用户名不能为空!\n"); return false; }
//检查用户名是否是规定的字符
{
var len=user.length;//取得用户名长度
if(len<6||len>12){showErrMsg("用户名必须由6-12个字符组成!\n"); return false;}//用户名长度超过6-12字符的限制!
//检查每个字符是否为字母或数字
for(i=0;i<len;i++)
{
if(i==0) //对于第一个字符,检查是否为字母
if(strings.indexOf(user.charAt(i).toLowerCase())<0){showErrMsg("用户名第一个字符必须是字母!"); return false;}
else
if(strings.indexOf(user.charAt(i).toLowerCase())<0&&nums.indexOf(user.charAt(i))<0){showErrMsg("用户名必须由字母或数字组成!"); return false;}
}
}
return true;
}
//检查密码的函数========================
function checkPass(pass,pass1)
{
var strings="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";//用户名和密码允许的字符
var nums="0123456789";
var errMsg="";//存放错误信息的字符串
//检查密码是否填写
if(pass==""){showErrMsg("密码不能为空!\n"); return false; }
//检查密码是否规范
{
var len=pass.length;//取得用户名长度
if(len<6||len>12){showErrMsg("密码必须由6-12个字符组成!\n"); return false;}//密码长度超过6-12字符的限制!
//检查每个字符是否为字母或数字
for(i=0;i<len;i++)
{
if(i==0) //对于第一个字符,检查是否为字母
if(strings.indexOf(pass.charAt(i).toLowerCase())<0){showErrMsg("密码第一个字符必须是字母!"); return false;}
else
if(strings.indexOf(pass.charAt(i).toLowerCase())<0&&nums.indexOf(pass.charAt(i))<0){showErrMsg("密码必须由字母或数字组成!"); return false;}
}
}
//检查两次密码是否一致
if(pass!=pass1) {showErrMsg("两次密码不一致!\n"); return false; }
return true;
}
//检查邮件地址是否规范
function checkMail(mail)
{
var mailUserStr="_1234567890qwertyuiopasdfghjklzxcvbnm";//邮件用户组成字符
var mailDomainStr="1234567890qwertyuiopasdfghjklzxcvbnm.";//邮件域名组成字符
var errMsg="";//存放错误信息的字符串
//检查电子邮件是否为空
if(mail=="") {showErrMsg("电子邮件地址不能为空!\n"); return false; }
//检查电子邮件地址是否规范
{
//检查的方法,1) 邮件地址串中包含1个@,2) 整个串由字母、数字、下划线、点号和@组成。3)不能有俩连续的点 4)点不能在最后和@之前
var atIndexR=mail.lastIndexOf("@"); //取得最右边@位置
var atIndexL=mail.indexOf("@"); //取得最左边@位置
var doublePotIndex=mail.indexOf(".."); //取得双点的位置
var pointIndexL=mail.indexOf("."); //取得最右边点位置
var pointIndexR=mail.lastIndexOf("."); //取得最右边点位置
var mailStrLen=mail.length;//取得邮件地址长度
var mUserStr=mail.substring(0,atIndexL-1);//取得用户名部分
var mDomainStr=mail.substring(atIndexL+1,mailStrLen-1);//取得邮件中的域名
//判断是否包含@
if(atIndexL<0){showErrMsg("电子邮件地址中必须包含一个@!\n"); return false;}
//判断是否只包含一个@
if(atIndexR!=atIndexL){showErrMsg("电子邮件地址不能包含多个@!\n"); return false;}
//验证是否点号在@之后
if(pointIndexL>0&&pointIndexL<atIndexL){showErrMsg("电子邮件地中@之前不能包含点号!\n"); return false;}
//验证点号是否在域名中,且不是第一个和最后一个
if(pointIndexL==atIndexL+1||pointIndexR==mailStrLen-1){showErrMsg("邮件地址中,点号不能在域名的两头!\n"); return false;}
//@号后是否有字符
if(atIndexL==mailStrLen-1){showErrMsg("邮件地址中,@号后必须包含域名!\n"); return false;}
//检查用户名部分是否规范
for(i=0;i<mUserStr.length;i++)
{
if(mailUserStr.indexOf(mUserStr.charAt(i).toLowerCase())<0){showErrMsg("邮件用户名包含非法字符!"); return false;}
}
//检查域名部分是否规范
for(i=0;i<mDomainStr.length;i++)
{
if(mailDomainStr.indexOf(mDomainStr.charAt(i).toLowerCase())<0){showErrMsg("邮件域名部分包含非法字符!"); return false;}
}
}
return true;
}
//验证验证码是否正确
function checkChkCode(chkCode)
{
var oldchk=document.forms[0]["oldChkCode"].value; //取得原始验证码
if(chkCode==""){showErrMsg("请输入验证码!");return false;}
if(oldchk!=chkCode){showErrMsg("验证码错误!");return false;}
return true;
}
//显示错误消息
function showErrMsg(message)
{
window.alert(message);
}