当前位置:编程学习 > JS >>

JS实现的表单验证和强大的身份证

[javascript] 
/规则检查排序 
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;i<myform.elements.length;i++) 
   { 
    var formvalue = myform.elements[i].value; 
    //内容非空检查,长度检查  
    if ((myform.elements[i].value == "")||(myform.elements[i].value.length>myform.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身份证号码严格验证 
<script> 
function checkIdcard(idcard){ 
var Errors=new Array( 
"验证通过!", 
"身份证号码位数不对!", 
"身份证号码出生日期超出范围或含有非法字符!", 
"身份证号码校验错误!", 
"身份证地区非法!" 
); 
var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"易做图",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 
 
  
 
var idcard,Y,JYM; 
var S,M; 
var idcard_array = new Array(); 
idcard_array = idcard.split(""); 
//地区检验  
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4]; 
//身份号码位数及格式检验  
switch(idcard.length){ 
case 15: 

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,