常见的一些校验规则

校验输入必须为汉字,包含少数民族姓名中"·"的校验

_isChinese(strValue) {
			let reg = /^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/;
			return reg.test(strValue);
		}

校验是否是车牌号

_isLicensePlate(strValue) {
			let license_plate_reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]{1}[A-HJ-NP-Z]{1}[A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
			return license_plate_reg.test(strValue);
		}

校验是否是手机号或者电话号

_isTelOrMobile(strValue) {
            let phone_reg = /^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
            let mobile_reg = /^(1(3|4|5|6|7|8|9)\d{9})$/;
            return phone_reg.test(strValue) || mobile_reg.test(strValue);
        }

校验是否是校验正整数

_isPosInteger(strValue) {
            let reg = /^[1-9]*[1-9][0-9]*$/;
            return reg.test(strValue);
        }

校验是否是纯数字(Integer)

_isInteger(strValue) {
            let reg = /^[0-9]*$/;
            return reg.test(strValue);
        }

校验是否是非负数

_isNonnegative(strValue) {
            let reg = /^((\d|[1-9]\d+)(\.\d+)?)$/;
            return reg.test(strValue);
        }

校验是否是邮箱

_isEmail(strValue) {
            let reg = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
            return reg.test(strValue);
        }

校验是否是数字和英文字母组成

_isNumOrLetter(strValue) {
            let reg = /^[A-Za-z0-9-]+$/;
            return reg.test(strValue);
        }

校验是否是非负整数

_isNonnegativeInt(strValue) {
            let reg = /^\d+$/;
            return reg.test(strValue);
        }

校验是否符合日期格式

_isValidDate(strValue) {
            let reg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
            return reg.test(strValue);
        }

校验是否区号

_isAreaCode(strValue) {
            let reg = /^0(\d{1,3}-?)/;
            return reg.test(strValue);
        }

校验是否包含IOQ

_isIOQ(strValue) {
            let reg = /.*i.*|.*I.*|.*o.*|.*O.*|.*q.*|.*Q.*/;
            return reg.test(strValue);
        }

校验是否邮编校验

_isPostCode(strValue) {
            let reg = /^[0-9][0-9]{5}$/;
            return reg.test(strValue);
        }

身份证校验

_checkIdentifyCard(idcard, text) {
            let errMsg = "";
            if (idcard.trim() != "") {
                let Errors = new Array("验证通过!", text + "位数不对!", text + "出生日期超出范围或含有非法字符!",
                    text + "不符合校验规则!", "身份证地区非法!");
                let area = {
                    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: "xingjiang",
                    71: "台湾",
                    81: "香港",
                    82: "澳门",
                    91: "国外"
                }

                var Y, JYM;
                var S, M;
                var idcard_array = new Array();
                idcard_array = idcard.split("");
                var ereg = "";
                // 身份号码位数及格式检验
                switch (idcard.length) {
                    case 15:
                        if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 ||
                            ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard
                                .substr(6, 2)) + 1900) % 4 == 0)) {
                            ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; // 测试出生日期的合法性
                        } else {
                            ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; // 测试出生日期的合法性
                        }
                        if (!ereg.test(idcard)) {
                            errMsg = Errors[2];
                        }
                        break;
                    case 18:
                        // 18位身份号码检测
                        // 出生日期的合法性检查
                        // 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
                        // 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
                        if (parseInt(idcard.substr(6, 4)) % 4 == 0 ||
                            (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard
                                .substr(6, 4)) % 4 == 0)) {
                            ereg = /^[1-9][0-9]{5}(19[0-9]{2}|20[0-1][0-9])((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9X]$/; // 闰年出生日期的合法性正则表达式
                        } else {
                            ereg = /^[1-9][0-9]{5}(19[0-9]{2}|20[0-1][0-9])((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9X]$/; // 平年出生日期的合法性正则表达式
                        }
                        if (ereg.test(idcard)) { // 测试出生日期的合法性
                            // 计算校验位
                            S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) *
                                7 +
                                (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) *
                                9 +
                                (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) *
                                10 +
                                (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) *
                                5 +
                                (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) *
                                8 +
                                (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) *
                                4 +
                                (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) *
                                2 +
                                parseInt(idcard_array[7]) * 1 +
                                parseInt(idcard_array[8]) * 6 +
                                parseInt(idcard_array[9]) * 3;
                            Y = S % 11;
                            M = "F";
                            JYM = "10X98765432";
                            M = JYM.substr(Y, 1); // 判断校验位
                            if (!(M == idcard_array[17])) {
                                errMsg = Errors[3];
                            }
                        } else {
                            errMsg = Errors[2];
                        }
                        break;
                    default:
                        errMsg = Errors[1];
                        break;
                }
                if (errMsg === "") {
                    // 地区检验
                    if (area[parseInt(idcard.substr(0, 2))] == null) {
                        errMsg = Errors[4];
                    }
                }
            }
            return errMsg;
        }

小数位不超过2位

_decimalPoint(strValue){
        	let reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;
        	return reg.test(strValue);
        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值