我的情感屋 记录生活 · 记录情感
网站首页 PHP实例 常用效果 生活日常 实时热点
js常用验证

来源:本站 时间:2022-12-22 01:50:30 热度:50

function checkNumber(val) {
    var regPos = /^\d+(\.\d+)?$/; //非负浮点数
    var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
    return (regPos.test(val) || regNeg.test(val));
}

/**
 * 邮箱验证
 * @param email
 * @returns boolean
 */
function checkEmail(email) {
    return !!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(email);
}

/**
 * 电话验证
 * @param phone
 * @param area    默认 86|空字符串 中国
 * @param gh      默认 验证手机 1电话号码
 * @returns {boolean|*}
 */
function checkPhone(phone, area, gh) {
    phone = trim(phone);
    var regs = {
        tauto: /^\d{2,4}-?\d{6,10}(-\d{1,6})?$/, // 全球电话号码
        pauto: /^\d{7,12}$/,          // 全球手机号码
        t86: /^((13[0-9])|(15[^4,\D])|(19[0-9])|(18[0-9])|(17[0-9])|(14[0-9]))\d{8}$|^0\d{2,3}-?\d{7,8}(-\d{1,6})?$|^(13[0-9])$/,  // 中国电话号码
        p86: /^((13[0-9])|(15[^4,\D])|(18[0-9])|(19[0-9])|(17[0-9])|(14[0-9]))\d{8}$/,                                  // 中国手机号码
    }, top = gh ? 't' : 'p';
    if (typeof area === 'undefined' || area === '') area = 86;
    var v = phone.split(' ');
    if (v.length > 2) return false;
    if (typeof v[1] === 'undefined') v = [area, phone];

    var reg = typeof (regs[top + v[0]]) !== 'undefined' ? regs[top + v[0]] : regs[top + 'auto'];
    return !!reg.test(v[1]);
}

function checkPhone1(phone, area) {
    return checkPhone(phone, area, true)
}

/**
 * javascript验证纳税人识别号格式
 * @param  taxId [纳税人识别号]
 * @return true格式正确,false格式错误
 */
function checkTaxId(taxId) {
    var reg = /^([\da-z]{10,15}$)|(\d{6}[\da-z]{10,12}$)|([a-z]\d{6}[\da-z]{9,11}$)|([a-z]{2}\d{6}[\da-z]{8,10}$)|(\d{14}[\dx][\da-z]{4,5}$)|(\d{17}[\dx][\da-z]{1,2}$)|([a-z]\d{14}[\dx][\da-z]{3,4}$)|([a-z]\d{17}[\dx][\da-z]{0,1}$)|([\d]{6}[\da-z]{13,14}$)/i;
    return !!reg.test(taxId);
}

/**
 * 身份证验证
 */
function checkIdCard(card) {
    var reg = /^([1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/;
    return !!reg.test(card);
}

/**
 * 护照验证
 */
function checkPassport(card) {
    var reg = /^[A-Z](([A-Z]\d{7})|(\d{7,8}))$/;
    return !!reg.test(card);
}

/**
 * 银行卡验证
 */
function checkBank(str) {
    var reg = /^[A-Za-z\d]{6,30}$/;
    return !!reg.test(str);
}

/**
 * swift验证
 */
function checkSwift(str) {
    var reg = /^[A-Za-z]{0,6}[A-Za-z\d]{6,19}$/;
    return !!reg.test(str);
}

/**
 * 邮政编码验证
 */
function checkPostcode(postcode) {
    if (postcode != "") {
        var pattern = /^[0-9]{6}$/;
        return !!pattern.test(postcode);
    }
}

/**
 * 英文标题
 */
function checkEnTitle(str) {
    var reg = /^[A-Za-z\d\+\-\ _\.\'’\[\]·]{3,50}$/;
    return !!reg.test(str);
}

function checkFullname(str) {
    var reg = /[`~!@#$%^&*()+=<>?:"{}|,\/;'[\]~!@#¥%……&*()+={}|《》?:“”【】、;‘',。、\d\f\n\r\t\v]/i;
    return !reg.test(str) && str.indexOf("\\") < 0;
}

function checkEnNum(input) {
    var chPattern = /^[A-Za-z0-9  \!\@\#\$\^\&\*\-\_\+\=\:\\\'\;\,\.\/\?\(\)\{\}\[\]\<\>]*$/;
    return !!chPattern.test(input);
}

function checkAlphaNum(str) {
    var pattern = /^[A-Za-z0-9]+$/;
    return !!pattern.test(str);
}

js常用验证

上一条: indesign批量转曲

下一条: mysql count 统计多表数据