常用的js脚本验证

//验证是否为空  
function check_blank(obj, obj_name){  
      if(obj.value != ''){     
            return true;     
     }else{     
         alert(obj_name + "所填不能为空!");   
         obj.value = "";  
         return false;     
     }     
}  
  
//过滤输入字符的长度  
function check_str_len(name,obj,maxLength){     
    obj.value=obj.value.replace(/(^\s*)|(\s*$)/g, "");  
    var newvalue = obj.value.replace(/[^\x00-\xff]/g, "**");   
    var length11 = newvalue.length;   
    if(length11>maxLength){  
        alert(name+"的长度不能超过"+maxLength+"个字符!");  
        obj.value="";  
        obj.focus();       
    }   
 }  
  
//验证只能为数字  
function checkNumber(obj){  
    var reg = /^[0-9]+$/;  
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert('只能输入数字!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
//验证数字大小的范围  
  
function check_num_value(obj_name,obj,minvalue,maxvalue){  
    var reg = /^[0-9]+$/;  
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert(obj_name+'只能输入数字!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }else if(minvalue>obj.value||obj.value>maxvalue){  
        alert(obj_name+"的范围是"+minvalue+"-"+maxvalue+"!");  
        obj.value="";  
        obj.focus();  
        return false;  
    }  
  
}  
  
//验证只能是字母和数字  
function checkZmOrNum(zmnum){  
  var zmnumReg=/^[0-9a-zA-Z]*$/;  
  if(zmnum.value!=""&&!zmnumReg.test(zmnum.value)){  
     alert("只能输入是字母或者数字,请重新输入");  
     zmnum.value="";  
     zmnum.focus();  
     return false;  
  }  
}  
  
//验证双精度数字  
function check_double(obj,obj_name){  
    var reg = /^[0-9]+(\.[0-9]+)?$/;  
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert(obj_name+'所填必须为有效的双精度数字');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
     
  
//复选框全选  
function checkboxs_all(obj,cName){  
    var checkboxs = document.getElementsByName(cName);  
    for(var i=0;i<checkboxs.length;i++){  
        checkboxs[i].checked = obj.checked;  
    }     
}  
  
  
//验证邮政编码  
function check_youbian(obj){  
    var reg=/^\d{6}$/;   
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert('邮政编码格式输入错误!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
//验证邮箱格式  
function check_email(obj){  
    var reg = /^[a-zA-Z0-9_-]+(\.([a-zA-Z0-9_-])+)*@[a-zA-Z0-9_-]+[.][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*$/;   
    if(obj.value!=""&&!reg.test(obj.value)){  
        obj.select();  
        alert('电子邮箱格式输入错误!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
/*验证固定电话号码 
  0\d{2,3}   代表区号    
  [0\+]\d{2,3}   代表国际区号 
 \d{7,8} 代表7-8位数字(表示电话号码) 
 正确格式:区号-电话号码-分机号(全写|只写电话号码) 
*/  
  
function check_phone(obj){  
    var reg=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;   
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert('电话号码格式输入错误!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
//验证手机号码(检验13,15,18开头的手机号!)  
function check_telephone(obj){  
    var reg= /^[1][358]\d{9}$/;  
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert('手机号码格式输入错误!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
//验证是否为中文  
function isChinese(obj,obj_name){  
    var reg=/^[\u0391-\uFFE5]+$/;   
    if(obj.value!=""&&!reg.test(obj.value)){  
        alert(obj_name+'必须输入中文!');  
        obj.value = "";  
        obj.focus();  
        return false;  
    }  
}  
  
//判断是否是IE浏览器  
  
function checkIsIE(){  
    if(-[1,]){     
     alert("这不是IE浏览器!");     
    }else{     
     alert("这是IE浏览器!");     
    }   
}  
  
//验证是否为正确网址  
function check_IsUrl(obj){  
  
  
}  
  
//检验时间大小(与当前时间比较)  
function checkDate(obj,obj_name){  
    var obj_value=obj.value.replace(/-/g,"/");//替换字符,变成标准格式(检验格式为:'2009-12-10')  
    // var obj_value=obj.value.replace("-","/");//替换字符,变成标准格式(检验格式为:'2010-12-10 11:12')  
    var date1=new Date(Date.parse(obj_value));     
    var date2=new Date();//取今天的日期  
    if(date1>date2){  
        alert(obj_name+"不能大于当前时间!");  
        return false;  
    }  
}  

 /**************************************************************************************/

/*************************************数字的验证*****************************************/
/**************************************************************************************/

/**
 * 检查输入的一串字符是否全部是数字
 * 输入:str  字符串
 * 返回:true 或 flase; true表示为数字
 
*/
function checkNum(str){
    
return str.match(/\D/== null;
}


/**
 * 检查输入的一串字符是否为小数
 * 输入:str  字符串
 * 返回:true 或 flase; true表示为小数
 
*/
function checkDecimal(str){
    
if (str.match(/^-?\d+(\.\d+)?$/g) == null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**
 * 检查输入的一串字符是否为整型数据
 * 输入:str  字符串
 * 返回:true 或 flase; true表示为小数
 
*/
function checkInteger(str){
    
if (str.match(/^[-+]?\d*$/== null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**************************************************************************************/
/*************************************字符的验证*****************************************/
/**************************************************************************************/


/**
 * 检查输入的一串字符是否是字符
 * 输入:str  字符串
 * 返回:true 或 flase; true表示为全部为字符 不包含汉字
 
*/
function checkStr(str){
    
if (/[^\x00-\xff]/g.test(str)) {
        
return false;
    }
    
else {
        
return true;
    }
}


/**
 * 检查输入的一串字符是否包含汉字
 * 输入:str  字符串
 * 返回:true 或 flase; true表示包含汉字
 
*/
function checkChinese(str){
    
if (escape(str).indexOf("%u"!= -1) {
        
return true;
    }
    
else {
        
return false;
    }
}


/**
 * 检查输入的邮箱格式是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 
*/
function checkEmail(str){
    
if (str.match(/[A-Za-z0-9_-]+[@](\S*)(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*)/g) == null) {
        
return false;
    }
    
else {
        
return true;
    }
}


/**
 * 检查输入的手机号码格式是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 
*/
function checkMobilePhone(str){
    
if (str.match(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/== null) {
        
return false;
    }
    
else {
        
return true;
    }
}


/**
 * 检查输入的固定电话号码是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 
*/
function checkTelephone(str){
    
if (str.match(/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/== null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**
 * 检查QQ的格式是否正确
 * 输入:str  字符串
 *  返回:true 或 flase; true表示格式正确
 
*/
function checkQQ(str){
    
if (str.match(/^\d{5,10}$/== null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**
 * 检查输入的身份证号是否正确
 * 输入:str  字符串
 *  返回:true 或 flase; true表示格式正确
 
*/
function checkCard(str){
    
//15位数身份证正则表达式
    var arg1 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
    
//18位数身份证正则表达式
    var arg2 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Z])$/;
    
if (str.match(arg1) == null && str.match(arg2) == null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**
 * 检查输入的IP地址是否正确
 * 输入:str  字符串
 *  返回:true 或 flase; true表示格式正确
 
*/
function checkIP(str){
    
var arg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
    
if (str.match(arg) == null) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**
 * 检查输入的URL地址是否正确
 * 输入:str  字符串
 *  返回:true 或 flase; true表示格式正确
 
*/
function checkURL(str){
    
if (str.match(/(http[s]?|ftp):\/\/[^\/\.]+?\..+\w$/i) == null) {
        return false
    }
    
else {
        
return true;
    }
}

/**
 * 检查输入的字符是否具有特殊字符
 * 输入:str  字符串
 * 返回:true 或 flase; true表示包含特殊字符
 * 主要用于注册信息的时候验证
 
*/
function checkQuote(str){
    
var items = new Array("~""`""!""@""#""$""%""^""&""*""{""}""[""]""("")");
    items.push(
":"";""'""|""\\""<"">""?""/""<<"">>""||""//");
    items.push(
"admin""administrators""administrator""管理员""系统管理员");
    items.push(
"select""delete""update""insert""create""drop""alter""trancate");
    str 
= str.toLowerCase();
    
for (var i = 0; i < items.length; i++) {
        
if (str.indexOf(items[i]) >= 0) {
            
return true;
        }
    }
    
return false;
}


/**************************************************************************************/
/*************************************时间的验证*****************************************/
/**************************************************************************************/

/**
 * 检查日期格式是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 * 注意:此处不能验证中文日期格式
 * 验证短日期(2007-06-05)
 
*/
function checkDate(str){
    
//var value=str.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-)(29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
    var value = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
    if (value == null) {
        
return false;
    }
    
else {
        
var date = new Date(value[1], value[3- 1, value[4]);
        
return (date.getFullYear() == value[1&& (date.getMonth() + 1== value[3&& date.getDate() == value[4]);
    }
}

/**
 * 检查时间格式是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 * 验证时间(10:57:10)
 
*/
function checkTime(str){
    
var value = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/)
    
if (value == null) {
        
return false;
    }
    
else {
        
if (value[1> 24 || value[3> 60 || value[4> 60) {
            
return false
        }
        
else {
            
return true;
        }
    }
}

/**
 * 检查全日期时间格式是否正确
 * 输入:str  字符串
 * 返回:true 或 flase; true表示格式正确
 * (2007-06-05 10:57:10)
 
*/
function checkFullTime(str){
    
//var value = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
    var value = str.match(/^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/);
    
if (value == null) {
        
return false;
    }
    
else {
        
//var date = new Date(checkFullTime[1], checkFullTime[3] - 1, checkFullTime[4], checkFullTime[5], checkFullTime[6], checkFullTime[7]);
        //return (date.getFullYear() == value[1] && (date.getMonth() + 1) == value[3] && date.getDate() == value[4] && date.getHours() == value[5] && date.getMinutes() == value[6] && date.getSeconds() == value[7]);
        return true;
    }
    
}




/**************************************************************************************/
/************************************身份证号码的验证*************************************/
/**************************************************************************************/

/**  
 * 身份证15位编码规则:dddddd yymmdd xx p
 * dddddd:地区码
 * yymmdd: 出生年月日
 * xx: 顺序类编码,无法确定
 * p: 性别,奇数为男,偶数为女
 * <p />
 * 身份证18位编码规则:dddddd yyyymmdd xxx y
 * dddddd:地区码
 * yyyymmdd: 出生年月日
 * xxx:顺序类编码,无法确定,奇数为男,偶数为女
 * y: 校验码,该位数值可通过前17位计算获得
 * <p />
 * 18位号码加权因子为(从右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]
 * 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]
 * 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 )
 * i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置
 *
 
*/
var Wi = [79105842163791058421];// 加权因子   
var ValideCode = [101098765432];// 身份证验证位值.10代表X   
function IdCardValidate(idCard){
    idCard 
= trim(idCard.replace(/ /g, ""));
    if (idCard.length == 15) {
        
return isValidityBrithBy15IdCard(idCard);
    }
    
else 
        
if (idCard.length == 18) {
            
var a_idCard = idCard.split("");// 得到身份证数组   
            if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) {
                
return true;
            }
            
else {
                
return false;
            }
        }
        
else {
            
return false;
        }
}

/**  
 * 判断身份证号码为18位时最后的验证位是否正确
 * @param a_idCard 身份证号码数组
 * @return
 
*/
function isTrueValidateCodeBy18IdCard(a_idCard){
    
var sum = 0// 声明加权求和变量   
    if (a_idCard[17].toLowerCase() == 'x') {
        a_idCard[
17= 10;// 将最后位为x的验证码替换为10方便后续操作   
    }
    
for (var i = 0; i < 17; i++) {
        sum 
+= Wi[i] * a_idCard[i];// 加权求和   
    }
    valCodePosition 
= sum % 11;// 得到验证码所位置   
    if (a_idCard[17== ValideCode[valCodePosition]) {
        
return true;
    }
    
else {
        
return false;
    }
}

/**  
 * 通过身份证判断是男是女
 * @param idCard 15/18位身份证号码
 * @return 'female'-女、'male'-男
 
*/
function maleOrFemalByIdCard(idCard){
    idCard 
= trim(idCard.replace(/ /g, ""));// 对身份证号码做处理。包括字符间有空格。   
    
if (idCard.length == 15) {
        
if (idCard.substring(1415% 2 == 0) {
            
return 'female';
        }
        
else {
            
return 'male';
        }
    }
    
else 
        
if (idCard.length == 18) {
            
if (idCard.substring(1417% 2 == 0) {
                
return 'female';
            }
            
else {
                
return 'male';
            }
        }
        
else {
            
return null;
        }
}

/**  
 * 验证18位数身份证号码中的生日是否是有效生日
 * @param idCard 18位书身份证字符串
 * @return
 
*/
function isValidityBrithBy18IdCard(idCard18){
    
var year = idCard18.substring(610);
    
var month = idCard18.substring(1012);
    
var day = idCard18.substring(1214);
    
var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    
// 这里用getFullYear()获取年份,避免千年虫问题   
    if (temp_date.getFullYear() != parseFloat(year) ||
    temp_date.getMonth() 
!= parseFloat(month) - 1 ||
    temp_date.getDate() 
!= parseFloat(day)) {
        
return false;
    }
    
else {
        
return true;
    }
}

/**  
 * 验证15位数身份证号码中的生日是否是有效生日
 * @param idCard15 15位书身份证字符串
 * @return
 
*/
function isValidityBrithBy15IdCard(idCard15){
    
var year = idCard15.substring(68);
    
var month = idCard15.substring(810);
    
var day = idCard15.substring(1012);
    
var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
    
// 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法   
    if (temp_date.getYear() != parseFloat(year) ||
    temp_date.getMonth() 
!= parseFloat(month) - 1 ||
    temp_date.getDate() 
!= parseFloat(day)) {
        
return false;
    }
    
else {
        
return true;
    }
}

//去掉字符串头尾空格   
function trim(str){
    
return str.replace(/(^\s*)|(\s*$)/g, "");

}

 //金钱算法 

 <script>

function cc(s){

        if(/[^0-9\.]/.test(s)) return "invalid value";

        s=s.replace(/^(\d*)$/,"$1.");

        s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");

        s=s.replace(".",",");

        var re=/(\d)(\d{3},)/;

        while(re.test(s))

                s=s.replace(re,"$1,$2");

        s=s.replace(/,(\d\d)$/,".$1");

        return "¥" + s.replace(/^\./,"0.")

        }

</script>

<input onchange="this.value=cc(this.value)">


 

 

 //根据传入的id列表,如果第二个参数为null,根据实际情况显示或删除指定的id。

function showOrHide(array, isShow) {

    for (var i = 0; i < array.length; i++) {

        showOrHideOne(array[i], isShow);

    }

}

//根据传入的id,如果第二个参数为null,根据实际情况显示或删除指定的id。

function showOrHideOne(id, isShow) {

    var obj = document.all(id);

    if (obj == null)

        return;

    if (isShow == null)

        isShow = obj.style.display == 'none';

    obj.style.display = isShow ? '' : 'none';

}

//得到一个str,是被选中的value,逗号分隔

function getSelectResultOne(checkBox) {

    var needAddStr = "";

    var newSelectStr = getSelectStr(checkBox);

    for (var i = 0; i < newSelectStr.length; i++) {

        var value = checkBox[i].value;

        if (newSelectStr.charAt(i) == '1') {

            needAddStr += needAddStr.length == 0 ? value : ',' + value;

        }

    }

    return needAddStr;

}

//得到两个str,第一个是需要删除的value,第二个需要添加的value,都是逗号分隔

function getSelectResult(checkBox, oldSelectStr) {

    var needDeleteStr = "";

    var needAddStr = "";

    var newSelectStr = getSelectStr(checkBox);

    for (var i = 0; i < newSelectStr.length; i++) {

        var temp = newSelectStr.charAt(i);

        if (temp != oldSelectStr.charAt(i)) {

            var value = checkBox[i].value;

            if (temp == '0') {

                needDeleteStr += needDeleteStr.length == 0 ? value : ',' + value;

            } else {

                needAddStr += needAddStr.length == 0 ? value : ',' + value;

            }

        }

    }

    return new Array(needDeleteStr, needAddStr);

}

//计算某个checkbox对象的字符串,选中的记1,没被选中的记0。

function getSelectStr(checkBox) {

    var str = "";

    for (var i = 0; i < checkBox.length; i++) {

        if (checkBox[i].checked)

            str += '1';

        else

            str += '0';

    }

    return str;

}

//全选某个checkBox

function checkBoxSelect(Obj) {

    for (var i = 0; i < Obj.length; i++)

        Obj[i].checked = true;

}

//清除某个checkBox

function checkBoxClear(Obj) {

    for (var i = 0; i < Obj.length; i++)

        Obj[i].checked = false;

}

//选中某个特定value的select对象的

function selectSelect(selectObj, selectValue) {

    for (var i = 0; i < selectObj.options.length; i++) {

        selectObj.options[i].selected = false;

        if (selectObj.options[i].value == selectValue) {

            selectObj.options[i].selected = true;

        }

    }

}

//清空某一个select对象中的所有属性

function clearSelect(selectObj) {

    for (var i = selectObj.options.length - 1; i > -1; i--)

        selectObj.options[i] = null;

}

/**

 * 得到String的长度

 */

function lench(ch) {

    return getLength(ch);

}

/**

 * 得到String的长度

 */

function getLength(str) {

    var length = 0

    for (var i = 0;i < str.length; i++) {

        if (str.charCodeAt(i) > 127)

            length += 2;

        else

            length++;

    }

    return length;

}

/**

 *转向到想去的页面

 *display 为想转向到的页面

 */

function returnFunction(display) {

    window.document.location = display;

}

/**

 *转向到帮助页面

 *display 为帮助页面

 */

function help(display) {

    window.document.location = display;

}

/*判断空字符

s   字符   in

返回 true/false

*/

function IsBlank(s) {

    var i = 0;

    while (i < s.length) {

        if (s.charAt(i) != " ")

            return false;

        i++;

    }

    return true;

}

/*判断数字字符

c   数字字符   in

返回 true/false

*/

function isnumber(c) {

    if (c >= '0' && c <= '99') {

        return true;

    } else {

        return false;

    }

}

/*判断英文字符

c   英文字符   in

返回 true/false

*/

function ischar(c) {

    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))

        return true;

    else

        return false;

}

/*判断是否是数字(int型)

s   数字字串   in

返回 true/false

*/

function checkint(s) {

    if(s == null || s == ""){

        return false;

    }

    for (var i = 0; i < s.length; i++){

        n = s.substr(i, 1);

        if (!(isnumber(n))) {

            return false;

        }

    }

    return true;

}

/*判断用户名是否合法只能包括数字,字母,和下划线

  */

function checkUserId(s) {

    for (i = 0; i < s.length; i++) {

        n = s.substr(i,1);

        if ( !(isnumber(n))&&!(ischar(n))&&(n!='_'))

            return false;

    }

    return true;

}

/*判断是否是数字(float型)

s   数字字串   in

返回 true/false

*/

function checknumber(s) {

    var nAtNum;

    nAtNum = 0;

    var negativePos;

    negativePos = 0

    if(s == null) {

        s = "";

    }

    for (xunhuanI = 0; xunhuanI < s.length; xunhuanI++) {

            n = s.substr(xunhuanI, 1)

            if (n == '-')

                negativePos = xunhuanI;

            if (n == '.')

                nAtNum = nAtNum + 1;

            if (!(isnumber(n) || n == '.'|| n == '-')) {

                return false;

            }

    }

    if (negativePos != 0 || nAtNum > 1) {

        return false;

    } else {

        return true;

    }

}

/*判断是否是时间(time型)

s   字串   in

返回 true/false

*/

function checktime(s) {

    var nAtPos;

    nAtPos = 50000;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||n==':')) {

            return false;

        }

        if ( n == ':') {

            nAtPos = i;

        }

    }

    if (nAtPos == 0) {

        return false;

    } else {

        return true;

    }

}

/*判断email的有效性

s  email字串   in

返回 true/false

*/

function checkemail(s) {

    var nAtPos;

    nAtPos = 0;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||ischar(n)||n=='_'||n=='.'||n=='@'||n=='-')) {

            return false;

        }

        if ( n == '@') {

            nAtPos = i;

        }

    }

    if ((nAtPos == 0) || (nAtPos == s.length-1)) {

        return false;

    } else {

        return true;

    }

}

/*判断年份的有效性

year  年份   in

返回 true/false

*/

function checkyear(year) {

   if (parseFloat(year)<1900||parseFloat(year)>3000)

      return false;

   else

      return true;

}

/*判断月份的有效性

month  月份   in

返回 true/false

*/

function checkmonth(month) {

   if ((parseFloat(month)<1)||(parseFloat(month)>12))

      return false;

   else

      return true;

}

/*判断日的有效性

day  日   in

返回 true/false

*/

function checkday(day) {

   if ((parseFloat(day)<1)||(parseFloat(day)>31))

      return false;

   else

      return true;

}

/*判断日期格式的有效性

s  日期   in

返回 true/false

*/

function checkdatevalid(s) {

    var n;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||n=='-')) {

            return false;

        }

    }

    return true;

}

/*判断日期的有效性

yearStr  年   in

monthStr 月   in

dayStr   日   in

返回 true/false

*/

function validateDay(yearStr, monthStr, dayStr) {

    var yearInt = parseFloat(yearStr);

    var monthInt = parseFloat(monthStr) - 1;

    var dayInt = parseFloat(dayStr);

    if (monthInt > 11) {

        return false;

    }

    if (yearInt < 1900) {

        return false;

    }

    var monthDays = new Array(12)

    monthDays[0] = 31;

    monthDays[1] = 28;

    monthDays[2] = 31;

    monthDays[3] = 30;

    monthDays[4] = 31;

    monthDays[5] = 30;

    monthDays[6] = 31;

    monthDays[7] = 31;

    monthDays[8] = 30;

    monthDays[9] = 31;

    monthDays[10] = 30;

    monthDays[11] = 31;

    if (yearInt % 100 == 0) {

        if (yearInt % 400 == 0) {

            monthDays[1] = 29;

        }

    } else {

        if (yearInt % 4 == 0) {

            monthDays[1] = 29;

        }

    }

    if (dayInt > monthDays[monthInt]) {

        return false;

    }

    return true;

}

/*判断日期的有效性

date1  日期   in

返回 true/false

日期格式为2001-05-05

*/

function validateDay2(date1) {

    var i = 0;

    var b_year="-1";

    var b_month="-1";

    var b_day="-1";

    if (!checkdatevalid(date1)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    i = date1.indexOf("-");

    if (i != -1) {

        b_year = date1.substring(0,i);

        date1=date1.substring(i+1);

    }

    i = date1.indexOf("-");

    if(i != -1) {

        b_month = date1.substring(0,i);

        b_day=date1.substring(i+1);

    }

    if (!checkyear(b_year)) {

        alert("年份不正确!");

        return false;

    }

    if (!checkmonth(b_month)) {

        alert("月份不正确!");

        return false;

    }

    if (!checkday(b_day)) {

        alert("日期不正确!");

        return false;

    }

    if (!validateDay(b_year,b_month,b_day)) {

        alert("请正确填写日期,输入的日期不存在!");

        return false;

    }

    return true;

}

/*比较两个日期的先后

date1  日期一   in

date2  日期二   in

返回 true/false

日期格式为2001-05-05

日期一比日期二大返回true

*/

function checkdate(date1,date2) {

    var i = 0;

    var b_year="-1";

    var b_month="-1";

    var b_day="-1";

    var b_year2="-1";

    var b_month2="-1";

    var b_day2="-1";

    if (!checkdatevalid(date1)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    if (!checkdatevalid(date2)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    i = date1.indexOf("-");

    if (i != -1) {

        b_year = date1.substring(0,i);

        date1=date1.substring(i+1);

    }

    i = date1.indexOf("-");

    if(i != -1) {

        b_month = date1.substring(0,i);

        b_day=date1.substring(i+1);

    }

    if (!checkyear(b_year)) {

        alert("年份不正确!");

        return false;

    }

    if (!checkmonth(b_month)) {

        alert("月份不正确!");

        return falseTag标签: javascript

 

 

posted @ 2010-06-29 16:37  Look_Sun  阅读(2432)  评论(0编辑  收藏  举报