姓名、电话、身份证的表单校验


//获取url的参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg); //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}


//身份证(找不到出处了,侵权删)
function checkIDCard(idcode) {
    // 加权因子
    var weight_factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    // 校验码
    var check_code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
    var code = idcode + "";
    var last = idcode[17]; //最后一位
    var seventeen = code.substring(0, 17);
    // ISO 7064:1983.MOD 11-2
    // 判断校验码是否正确
    var arr = seventeen.split("");
    var len = arr.length;
    var num = 0;
    for (var i = 0; i < len; i++) {
        num = num + arr[i] * weight_factor[i];
    }
    // 获取余数
    var resisue = num % 11;
    var last_no = check_code[resisue];
    var idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|([2][0][0|1][0-9]|[2][0][2][0-1]))([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;
    // 判断格式是否正确
    var format = idcard_patter.test(idcode);
    // 返回验证结果
    return last === last_no && format ? true : false;
}


//校验姓名(中文)
function checkName(e) {
    for (let i = 0; i < e.length; i++) {
        if (/^[a-zA-Z\u4e00-\u9fa5]+$/.test(e[i])) {
            this.ruleForm.name = e;
        } else {
            if (i == 0) {
                this.ruleForm.name = ''
            } else {
                this.ruleForm.name = e.substr(0, i)
            }
            return
        }
    }
}


版权声明:本文为lcc0628原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。