现在的位置: 首页 > 综合 > 正文

JS表单验证=常用

2012年05月11日 ⁄ 综合 ⁄ 共 5914字 ⁄ 字号 评论关闭

www.web-tag.net(取自)

/*
function:check is null?
args:str(str)
return: true(null) false(not null)
*/
function isNull(str) {
    if (str == "") return true;
    var regu = "^[ ]+$";
    var re = new RegExp(regu);
    return re.test(str);
}
/*
function:check the date(s) is less than or equl to endtime(e)
args:s(str) , e(str) format.2001-5-4 2002-5-4
return: true(yes) false(not)
*/
function data_compare(s, e) {
    var arr = s.split("-");
    var starttime = new Date(arr[0], arr[1], arr[2]);
    var starttimes = starttime.getTime();

    var arrs = e.split("-");
    var endtime = new Date(arrs[0], arrs[1], arrs[2]);
    var endtimes = endtime.getTime();

    if (starttimes >= endtimes) {
        return false;
    }
    else
        return true;
}
/*
function:check the date is right format
args:date(str)  Match.format=>"2010-5-16"
return: true(yes) false(not)
*/
function isDate(str) {
    if (isNull(str)) return false;
    var r = str.match(/^(\d{4})(-|\/)(\d{1,2})(-|\/)(\d{1,2})$/);
    if (r == null) return false;
    var d = new Date(r[1], r[3] - 1, r[5]);
    return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[5]);
}
/*
function:check the str only include the letter,number and '_'
args:s(str)
return: true(yes) false(not)
*/
function isNumberOr_Letter(s) {
    var regu = "^[0-9a-zA-Z\_]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    } else {
        return false;
    }
}
/*
function:check the email is right
args:str(str)
return: true(yes) false(not)
*/
function isEmail(str) {
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
if (myReg.test(str)) return true;
return false;
}
/*
function:check the mobile phone num is right
args:s(str)
return: true(yes) false(not)
*/
function checkMobile(s) {
var regu = /^[1][0-9][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
}
/*
function:check is number
args:str(str)
return: true(yes) false(not)
*/
function isNumber(str) {
    var reg = /^\d+$/;
    if (reg.test(str))
        return true;
    else
        return false;
}
/*
function:check is a right time
args:time(str)
return: true(yes) false(not)
*/
function isTime(time){
 var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
 if(!regex.test(time)){
  return false;
 }
 var hour = time.substring(0,2);
 var minute = time.substring(3,5);
 var second = time.substring(6);
 if(hour>23 || hour <0){
  return false;
 }
 if(minute > 60 ||minute < 0){
  return false;
 }
 if(second > 60 ||second < 0){
  return false;
 }
 return true;
}
/*
function:check is a right positive integer (+num)
args:s(str)
return: true(yes) false(not)
*/
function isNumber(s) {
    var regu = "^[0-9]+$";
    var re = new RegExp(regu);
    if (s.search(re) != -1) {
        return true;
    } else {
        return false;
    }
}
/*
function:check is a right telephone or a fax num
args:s(str)  Match.format=>020-87110252
return: true(yes) false(not)
*/
function isTel(s) {
    var reg = /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
    if (!reg.test(s))
        return false;
    return true;
}
/*
function:check is a right identity card num
args:strIDno(str)
return: true(yes) false(not)
*/
function isIDno(strIDno) {
    var aCity = { 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 iSum = 0;
    var info = "";
    //var strIDno = obj.value; 
    var idCardLength = strIDno.length;
    if (!/^\d{17}(\d|x)$/i.test(strIDno) && !/^\d{15}$/i.test(strIDno)) {
        //alert("非法身份证号"); 
        return false;
    }

    //在后面的运算中x相当于数字10,所以转换成a 
    strIDno = strIDno.replace(/x$/i, "a");

    if (aCity[parseInt(strIDno.substr(0, 2))] == null) {
        //alert("非法地区"); 
        return false;
    }

    if (idCardLength == 18) {
        sBirthday = strIDno.substr(6, 4) + "-" + Number(strIDno.substr(10, 2)) + "-" + Number(strIDno.substr(12, 2));
        var d = new Date(sBirthday.replace(/-/g, "/"))
        if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) {
            //alert("非法生日"); 
            return false;
        }

        for (var i = 17; i >= 0; i--)
            iSum += (Math.pow(2, i) % 11) * parseInt(strIDno.charAt(17 - i), 11);

        if (iSum % 11 != 1) {
            //alert("非法身份证号"); 
            return false;
        }
    }
    else if (idCardLength == 15) {
        sBirthday = "19" + strIDno.substr(6, 2) + "-" + Number(strIDno.substr(8, 2)) + "-" + Number(strIDno.substr(10, 2));
        var d = new Date(sBirthday.replace(/-/g, "/"))
        var dd = d.getFullYear().toString() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        if (sBirthday != dd) {
            //alert("非法生日"); 
            return false;
        }
    }
    return true;
}
/*
function:check is a right Zip Code
args:str(str) must have six number
return: true(yes) false(not)
*/
function isZipcode(str) {
    var reg = /^\d+$/;
    if (!reg.test(str))
        return false;
    if (str.length != 6) {
        return false;
    }
    return true;
}
/*
function:check is a right money number
args:s(str) Match.format=>###+,###{3}
return: true(yes) false(not)
*/
function isMoney(s) {
    var regu = "^[0-9]+[\.][0-9]{0,3}$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    } else {
        return false;
    }
}
/*
function:check is Chinese Character
args:str(str)
return: true(yes) false(not)
*/
function isZh(str){
 var reg = /^[\u4e00-\u9fa5]+$/;
 if (reg.test(str)) return true;
 return false;
}
/*
function:check is integer?
args:str(str)
return: true(yes) false(not)
*/
function isInteger(str) {
    var regu = /^[-]{0,1}[0-9]{1,}$/;
    return regu.test(str);
}
/*
function:check is a right IP Address
args:strIP(str)
return: true(yes) false(not)
*/
function isIP(strIP) {
    if (isNull(strIP)) return false;
    var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
    if (re.test(strIP)) {
        if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
    }
    return false;
}
/*
function:check is only include Chinese,Letter And Number?
args:s(str)
return: true(yes) false(not)
*/
function isChinaOrNumbOrLett(s) {//判断是否是汉字、字母、数字组成
    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    } else {
        return false;
    }
}
/*
function:check is only include Letter and Number
args:s(str)
return: true(yes) false(not)
*/
function isNumberOrLetter(s) {//判断是否是数字或字母
    var regu = "^[0-9a-zA-Z]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    } else {
        return false;
    }
}

抱歉!评论已关闭.