标签: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校验函数库