javascript 各种验证

代码
// 判断只能为数字
var checkIsInteger = function(str) {
    
if (str) {
        
return (/^(\-?)(\d+)$/).test(str) ? true : '只能输入数字!';
    } 
else {
        
return true;
    }
};

// 检查email验证
var checkEmail = function(str) {
    
if (str) {
        
if (str.charAt(0== "." ||
        str.charAt(
0== "@" ||
        str.indexOf(
'@'0== -1 ||
        str.indexOf(
'.'0== -1 ||
        str.lastIndexOf(
"@"== str.length - 1 ||
        str.lastIndexOf(
"."== str.length - 1) {
            
return '输入的Email格式不正确!';
        } 
else {
            
return true;
        }
    } 
else {
        
return true;
    }
};

// 效验特殊字符
var chekcString = function(str) {
    
if (str) {
        
return (/^[A-Za-z0-9\u0391-\uFFE5_\-]{0,}$/).test(str) ? true : '只能输入英文、数字、中文、下划线(_)和减号(-)!';
    } 
else {
        
return true;
    }
};

// 效验两位小数
var checkFloat = function(str) {
    
if (str) {
        
return (/^\d+(\.\d{1,2})?$/).test(str) ? true : '只能输入整数或两位小数!';
    } 
else {
        
return true;
    }
};

// 效验电话号码
var checkTelno = function(val) {
    
if (val) {
        
return (/^((((13[0-9]{1})|189|(15[0-9]{1})|(0[1-9]{2}))+\d{8})|((0[1-9]{3}))+\d{7})$/).test(val) ? true : '输入的电话号码格式不正确!';
    } 
else {
        
return true;
    }
};

// 验证手机号码11位
function chMobilePhone(src)
{
   
if(src.length == 11){
         
return true;
    }
else{
        
return false;
   }
}

//起始时间比较
function dateCompare(beginTime,endTime){
    
if(endTime >= beginTime) return true;
        
else return false;
}

//验证金额
function isMoney(str){
    
if (str) {
        
return (/^-?\d+\.{0,}\d{0,}$/).test(str) ? true : '只能输入金额!';
    } 
else {
        
return true;
    }
}

//--身份证号码验证-支持新的带x身份证
var isIdCardNo = function(num) {
    
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    
var error;
    
var varArray = new Array();
    
var intValue;
    
var lngProduct = 0;
    
var intCheckDigit;
    
var intStrLen = num.length;
    
var idNumber = num;    
    
var checkDate = function(date) {
       
return true;
    } 
    
// initialize
    if ((intStrLen != 15&& (intStrLen != 18)) {
        
//error = "输入身份证号码长度不对!";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }    
    
// check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] 
= idNumber.charAt(i);
        
if ((varArray[i] < '0' || varArray[i] > '9'&& (i != 17)) {
            
//error = "错误的身份证号码!.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } 
else if (i < 17) {
            varArray[i] 
= varArray[i]*factorArr[i];
        }
    }
    
if (intStrLen == 18) {
        
//check date
        var date8 = idNumber.substring(6,14);
        
if (checkDate(date8) == false) {
            
//error = "身份证中日期信息不正确!.";
            //alert(error);
            return false;
        }        
        
// calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct 
= lngProduct + varArray[i];
        }        
        
// calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        
switch (intCheckDigit) {
            
case 10:
                intCheckDigit 
= 'X';
                
break;
            
case 11:
                intCheckDigit 
= 0;
                
break;
            
case 12:
                intCheckDigit 
= 1;
                
break;
        }        
        
// check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            
//error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    } 
    
else{        //length is 15
        //check date
        var date6 = idNumber.substring(6,12);
        
if (checkDate(date6) == false) {
            
//alert("身份证日期信息有误!.");
            return false;
        }
    }
    
//alert ("Correct.");
    return true;
}
 
 
 
 

 

posted @ 2010-03-22 09:58  Aquarius' Web Tech  阅读(202)  评论(0编辑  收藏  举报