/* ===========================================================
模块说明:对于数据验证的一些补充功能
charset:gb2312
调用模块:stringutils.js
搜集整理:sagahu@163.com
最后修订:2011-12-15
*/

function isSpace(str) {
    var strComp = str;
    try {
        if (strComp == " " || strComp == "" || strComp == " " || strComp == null || strComp == "null" || strComp.Trim().length == 0 || typeof str == "undefined" || str == "undefined") {
            return true;
        }
        else {
            return false;
        }
    } catch (e) { return false; }
}

function isRequire(value) { var regx = /.+/; return regx.test(value); }

function isInt(value) { var regx = /^[-\+]?\d+$/; return regx.test(value); }
function isDouble(value) { var regx = /^[-\+]?\d+(\.\d+)?$/; return regx.test(value); }
function isCurrency(value) { var regx = /^\d+(\.\d+)?$/; return regx.test(value); }

function isEmail(value) { var regx = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return regx.test(value); }
function IsPostcode(value) { var regx = /^\d{6}$/; return regx.test(value); }
function isIdCard(sId) {
    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: "国外"
    };
    if (!/^\d{15}(\d{2}(\d|x))?$/i.test(sId)) {
        return false;
    }
    if (aCity[parseInt(sId.substr(0, 2))] == null) {
        return false;
    }
    if (sId.length == 15) {
        sBirthday = "19" + sId.substr(6, 2) + "-" + Number(sId.substr(8, 2)) + "-" + Number(sId.substr(10, 2));
    }
    else {
        sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
    }
    var d = new Date(sBirthday.replace(/-/g, "/"))
    if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) {
        return false;
    }
    if (sId.length == 18) {
        var iSum = 0
        sId = sId.replace(/x$/i, "a");
        for (var i = 17; i >= 0; i--) {
            iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11)
        }
        if (iSum % 11 != 1) {
            return false;
        }
    }
    return true;
}

function isPhone(str) {
    var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?(,(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?)*$/;
    return reg.test(str);
}
function isMobile(str) {
    var reg = /(^0?[1][3|4|5|8][0-9]{9}(,0?[1][3|4|5|8][0-9]{9})*$)/;
    return reg.test(str);
}

function containsDoubleQuotes(value) { var regx = /[\"]/; return regx.test(value); }
function containsSingleQuotes(value) { var regx = /[\']/; return regx.test(value); }

//包含中文字符,中文字符不等同于双字节字符
function containsHz(value) { regx = /[\u4e00-\u9fa5]/; return regx.test(value); }

posted on 2012-10-02 00:22  萨迦狐  阅读(225)  评论(0编辑  收藏  举报