是否为电子邮件地址 检测是否为手机号码 是否为数字 是否为整数 是否为正数 是否为合法的日期格式

function delSpace(txt) { //清除字符串中所有的空白字符
    if (txt == null) {
        return "";
    } else {
        txt = txt.toString();
        txt = txt.replace(/\s{1,}/, "");
        return txt;
    }
}
function isQQ(txt) { //是否为QQ号码,即5-9位数字
    if (txt == null || txt == "") {
        return false;
    } else {
        var regex = /[1-9]{1}[0-9]{4,8}/;
        return regex.test(txt);
    }
}
function isPhoneNum(txt) { //检测是否为电话号码(固定电话或手机)
    return isPhone(txt) || isMobile(txt);
}
function isPhone(txt) { //检测是否为固定电话号码
    if (txt == null || txt == "") {
        return false;
    } else {
        var regex = /[0-9]{1}[0-9]{2,3}-[1-9]{1}[0-9]{5,8}/;
        return regex.test(txt);
    }
}
function isMobile(txt) { //检测是否为手机号码
    if (txt == null || txt == "") {
        return false;
    } else {
        var regex = /1[0-9]{10}/;
        return regex.test(txt);
    }
}
function isEmail(txt) { //是否为电子邮件地址:[email protected]
    if (txt == null || txt == "") {
        return false;
    } else {
        var regex = /(.){1,}@(.){1,}\.(.){1,}/;
        return regex.test(txt);
    }
}
function isNumeric(txt) { //是否为数字
    if (txt == null || txt == "") {
        return false;
    } else {
        txt = delSpace(txt);
        return ! isNaN(parseFloat(txt));
    }
}
function isInteger(txt) { // 是否为整数
    if (txt == null || txt == "") {
        return false;
    } else {
        txt = delSpace(txt);
        return ! isNaN(parseInt(txt));
    }
}
function isPositiveNumber(txt) { //是否为正数
    if (txt == null || txt == "") {
        return false;
    } else {
        txt = delSpace(txt);
        if (isNaN(parseInt(txt))) {
            return false;
        } else {
            return (parseInt(txt) > 0);
        }
    }
}
function isDateFormat(txt) { //是否为合法的日期格式:YYYY-MM-DD
    if (txt == null || txt == "") {
        return false;
    } else {
        var regex = /[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,2}/;
        if (regex.test(txt)) {
            var noArr = txt.split("-");
            var year = eval(noArr[0]);
            var month = eval(noArr[1]);
            var day = eval(noArr[2]);
            if (year < 1 || month < 1 || month > 12 || day < 1 || day > 31) {
                return false;
            }
            if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {
                return false;
            }
            if (month == 2) {
                if ((year % 4 != 0) && day > 29) {
                    return false;
                }
                if (year % 4 == 0) {
                    if (year % 100 == 0 && year % 400 != 0 && day > 29) {
                        return false;
                    } else if (day > 28) {
                        return false;
                    }
                }
            }
            return true;
        } else {
            return false;
        }
    }
}
function chkWordMount(obj, amt, indicator) { //限制某一输入控件的输入字符数并返回与目标字数的差值
    var objValue = obj.value;
    var len = objValue.length;
    if (len > amt) {
        obj.value = objValue.substr(0, amt);
        indicator.innerText = "0";
    } else {
        indicator.innerText = amt - len;
    }
}
function deltag(txt) {
    var reg = /(<{1})([^<]{1,})(>{1})/;
    txt = txt.replace(reg, "");
    return txt;
}
function isIdCardNum(txt) { //检测15位或18位的身份证号
    if (txt == null || txt == "") {
        return false;
    }
    var idNo = txt.toString();
    var len = idNo.length;
    var reg;
    var noArr;
    var dateStr = "";
    if (len != 15 && len != 18) {
        return false;
    } else if (len == 15) {
        reg = /(\d{3})(\d{3})(\d{2})(\d{2})(\d{2})(\d{3})/;
        if (reg.test(idNo) == false) {
            return false;
        } else {
            noArr = reg.exec(idNo);
            dateStr = "19" + noArr[3] + "-" + noArr[4] + "-" + noArr[5];
            return isDateFormat(dateStr);
        }
    } else {
        reg = /(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})([0-9xX]{1})/;
        if (reg.test(idNo) == false) {
            return false;
        } else {
            noArr = reg.exec(idNo);
            dateStr = noArr[7] + noArr[8] + noArr[9] + noArr[10] + "/" + noArr[11] + noArr[12] + "/" + noArr[13] + noArr[14];
            if (isNaN(new Date(dateStr)) == false) {
                var wi = new Array(0, 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
                var amt = 0;
                var i;
                var chkNo = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
                for (i = 1; i < 18; i++) {
                    amt += (noArr[i] * wi[i]);
                }
                return (chkNo[amt % 11] == noArr[18].toUpperCase());
            } else {
                return false;
            }
        }
    }




//本文来源于网络,本人总结起来并优化,分享给有需要的前端朋友,如有侵权,请联系删除,也请指正、批评

你可能感兴趣的:(js,js判断)