本文实例总结了JS表单验证方法。分享给大家供大家参考,具体如下:
回回写表单,回回要写不同的检查JS,很麻烦,后来写了通用的检查函数,很粗糙,但比较实用,以后再好好改改:
包含页: Check-Form.js
代码如下:
rush:js;">
//规则检查排序
function RegCheck(objs)
{
var str = objs.checktype;
switch (str)
{
case "cn" : //要检查的表单控件的输入类型必须为中文
return CnWordRegCheck(objs);
break;
case "idnum" :
return IdCardRegCheck(objs); //要检查的表单控件的输入类型必须为身份证号
break;
case "num" : //要检查的表单控件的输入类型必须为数字
return NumRegCheck(objs);
break;
case "mail" : //要检查的表单控件的输入类型必须为EMAIL
return EmailRegCheck(objs);
break;
case "txt" : //要检查的表单控件的输入类型必须为字符串
return SpecialWordRegCheck(objs);
break;
case "notes" :
return true; //要检查的表单控件的输入类型必须为什么都可以
break;
}
}
//************************************************
//检查电话号码
function NumRegCheck(obj)
{
var uplimit = obj.checkrule.split(",")[0];
var downlimit = obj.checkrule.split(",")[1];
var reg = "";
if (downlimit == null)
{
reg = eval_r("/^[0-9]{"+uplimit+"}$/");
}
else
{
reg = eval_r("/^[0-9]{"+uplimit+","+downlimit+"}$/");
}
var str = obj.value;
var flag = reg.test(str);
return flag;
}
//************************************************
//检查身份证号
function IdCardRegCheck(obj)
{
var str = obj.value;
var reg = /^([0-9]{15}|[0-9]{18})$/;
var flag = reg.test(str);
return flag;
}
//************************************************
//检查EMAIL
function EmailRegCheck(obj)
{
var str = obj.value;
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
var flag = reg.test(str);
return flag;
}
//***************************************
//检查中文输入
function CnWordRegCheck(obj)
{
var str = obj.value;
var reg=/^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$/;
var flag = reg.test(str);
//alert(flag);
return flag;
}
//***************************************
//检查特殊字符
function SpecialWordRegCheck(obj)
{
var reg= /[(\/)(<)(>)]/g">\\)(')(")(<)(>)]/g;
var str = obj.value;
var flag= reg.test(str);
flag = !flag;
return flag;
}
//************************************************
//检查主引导函数
function CheckForm(obj)
{
var myform = eval_r("document."+obj.name);
for (i=0;imyform.elements[i].maxlength))
{
alert("您忘了填写"+myform.elements[i].cnname+"!"+"或者您填写的信息不符合规范!");
myform.elements[i].focus();
return false;
break;
}
if (myform.elements[i].value == 0)
{
alert("您忘了选择"+myform.elements[i].cnname+"!");
myform.elements[i].focus();
return false;
break;
}
//数据规范化检查
var myobj = myform.elements[i];
//alert(myobj.checktype);
//break;
if (!RegCheck(myobj))
{
alert(myobj.cnname+"输入有误,请按填写要求填写!");
myobj.focus();
return false;
break;
}
}
}
附:js身份证号码严格验证
rush:js;">
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。