当前位置:起点学习辅导网培训频道电脑知识学习网页制作Javascript教程JavaScript校验函数库

JavaScript校验函数库

08-08 00:40:52浏览次数:889栏目:Javascript教程
标签:javascript视频教程,javascript教程下载, JavaScript校验函数库,
function isNum(obj){   
    for(var i=0; i < obj.value.length;i++){   
     if(obj.value.charAt(i)<"0" || obj.value.charAt(i)>"9"){   
     return false;   
     }   
    }        
  return true;   
}   
  
//建立者:jiarry@hotmail.com   
//正则表达式去除左右空格。   
//返回去除后的字符串   
function trim(s) {   
return s.replace( /^s*/, "" ).replace( /s*$/, "" );   
}   
  
//建立者:jiarry@hotmail.com   
//正则表达式Email的验证   
//验证是否含有@.等   
function validateEmail(email){   
   var myReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$/;   
    if(myReg.test(email)==false){   
       return false;   
   }   
   return true;   
}   
  
//建立者:jiarry@hotmail.com   
//正则表达式电话的验证   
//验证是否含有@.等   
function validatePhone(phone){   
   var myReg = /(^[0-9]{3,4}-[0-9]{5,8}$)|(^[0-9]{5,12}$)|(^([0-9]{3,4})[0-9]{5,8}$)|(^0{0,1}13[0-9]{9}$)/;   
    if(myReg.test(phone)==false){   
       return false;   
   }   
   return true;   
}   
  
//建立者:jiarry@hotmail.com   
//验证字符长度是否超出某个值   
//返回true或false   
function validateMaxLength(v, maxlen){   
   if (trim(v).length > maxlen){   
     return false;   
   }   
   return true;   
}  
/*  
检查18位身份证最后一位即校验码是否正确  
Author:lichunping@baidu.com;jarryli@gmail.com;  
homepage:http://jiarry.126.com;  
bolg:http://jiarry.blogchina.com;  
1,∑(a[i]*W[i]) mod 11 ( i = 2, 3, , 18 ) (1) ;  
2,加权因子分别为 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;  
3,将前17位号码分别乘以各自的加权因子,再求和除以11,再取余数。  
4,用余数对应下方的校验码  
5,Y余数:  0 1 2 3 4 5 6 7 8 9 10 ;  
6,校验码: 1 0 X 9 8 7 6 5 4 3 2 ;  
*/  
var ai=new Array();//用户的身份证号码数组;   
var wi=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];//17位数对应的加权因子,自左至右;   
var yi=[0,1,2,3,4,5,6,7,8,9,10];//余数;   
var vi=["1","0","X","9","8","7","6","5","4","3","2"];//余数对应的校验码;   
var r;//最终的校验码;   
var sum;//和   
var y;//余数   
  
//用法:getVerifyCode(this.form.number)   
//返回正确的验证码;   
function getVerifyCode(num){//17位的号码请求,则可以返回检验码;   
r=0;y=0;sum=0;   
var v=num;   
if( typeof(num) != "undefined" && typeof(num) != "string" && num.type == "text" ) v = num.value;   
  v=v.toUpperCase();var vl;   
  if(v.length==18)   
      vl=v.length-1;   
  else  
      vl=v.length;   
  if(vl!=17)   
   {   
   alert("请求号码不正确");return;   
   }   
  for(var i=0;i<vl;i++){   
        ai[i]=v.charAt(i);   
        sum+=ai[i]*wi[i];//身份证号码分别乘以加权因子再求和;     
  }   
   y=sum%11;        
   r=vi[y];//校验码中的第y个即时校验码;   
   return r;//返回18位身份证的校验码;   
}   
  
//用法:checkIdVerifyCode(this.form.number)   
//返回true或false;   
function checkIdVerifyCode(o){   
var v = o;   
if( typeof(o) != "undefined" && typeof(o) != "string" && o.type == "text" )v=o.value;   
  var num18 = v.substr(17,1);   
/*//号码验证不一定需要;  
var num17 = v.substring(0,17);  
if(v.length != 18){  
    //alert("请输入18位身份证号码");  
return false;  
  }else if(!isNaN(v)){  
    //alert("18位全是数字");  
  }else if( num18.toUpperCase() == "X" && !isNaN( num17 )){  
    //alert("第18位数字是X,前17位是数字");  
  }else{  
    //alert("请输入有效的身份证号码");  
return false;  
}*/  
if(getVerifyCode(v) == num18)   
   return true;   
else  
  return false;   
}   
  
// get absolute Left position   
//建立者:jiarry@hotmail.com   
//返回对象位于窗口的绝对左边距离   
function getAbsoluteLeft( ob ){   
if(!ob){return null;}   
   var obj = ob;   
   var objLeft = obj .offsetLeft;   
   while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){   
     objLeft += obj .offsetParent.offsetLeft;   

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]  下一页

,JavaScript校验函数库
《JavaScript校验函数库》相关文章
给资讯打分:
网友评论: