常用的正则表达式

 

function stripscript(s) {
    /// <summary>过滤特殊字符</summary>
    var pattern = new RegExp("[  `~!@@#$^&*=|{}':;',\\[\\].<>/?~!#¥……&*——|{}【】‘;:”“'。,、?%]")
    var rs = "";
    for (var i = 0; i < s.length; i++) {
        rs = rs + s.substr(i, 1).replace(pattern, '');
    }
    return rs;
}


function checkLen(obj, maxlength) {
    /// <summary>限制输入长度</summary>
    var maxChars = maxlength; //最多字符数 
    if (obj.value.length > maxChars)
        obj.value = obj.value.substring(0, maxChars);
}


function isMobile(str) {
    /// <summary>匹配手机号码</summary>
    if (str == null || str == "") return false;
    var result = str.match(/^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9})|(18\d{9}))$/);
    if (result == null) return false;
    return true;
}


function isPhone(str) {
    /// <summary>匹配电话号码</summary>
    if (str == null || str == "") return false;
    var result = str.match(/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/);
    if (result == null) return false;
    return true;
}

function isTel(text) {
    /// <summary>联系电话(手机/电话皆可)验证  </summary>
    if (isMobile(text) || isPhone(text)) return true;
    return false;
}

function isZipCode(str) {
    /// <summary>匹配邮编号码</summary>
    if (str == null || str == "") return false;
    var result = str.match(/^[0-9]{6}$/);
    if (result == null) return false;
    return true;
}

function isLawyerNo(str) {
    /// <summary>匹配律师证号(1开头的17位数字)</summary>
    if (str == null || str == "") return false;
    var result = str.match(/^1\d{16}$/);
    if (result == null) return false;
    return true;
}

function isIdCardNo(num) {
    /// <summary>匹配身份证号码</summary>
    var len = num.length, re;
    if (len == 15)
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/);
    else if (len == 18)
        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/);
    else { return false; }
    var a = num.match(re);
    if (a != null) {
        if (len == 15) {
            var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]);
            var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
        }
        else {
            var D = new Date(a[3] + "/" + a[4] + "/" + a[5]);
            var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
        }
        if (!B) { return false; }
    }
    if (!re.test(num)) { return false; }
    return true;
}

 

posted @ 2016-04-11 23:26  隐问饮揾  阅读(96)  评论(0)    收藏  举报