正则实际使用

1.身份证年月日的隐藏

IDnumber.replace(/(?<=\d{6})\d+(?=[\dX]{4})/, "********")

 

2.身份证输入校验

 data () {
    // 校验待定
    const checkIdNumber = (rule, value, callback) => {
      /**
       * 第一位不可能是0
       * 第二位到第六位可以是0-9
       * 第七位到第十位是年份,所以七八位为19或者20
       * 十一位和十二位是月份,这两位是01-12之间的数值
       * 十三位和十四位是日期,是从01-31之间的数值
       * 十五,十六,十七都是数字0-9
       * 十八位可能是数字0-9,也可能是X
       */
      value = value.toString();
      // console.log("身份证的值" + value);
      // console.log("身份证长度" + value.length);
      const reg =
        /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X|x])$/;
      if (value === "") {
        callback(new Error("请输入身份证号"));
      } else if (value.length != 18) {
        callback(new Error("请输入正确的身份证号"));
      } else {
        callback();
      }
    };
    const checkPhoneNum = (rule, value, callback) => {
      const reg = /^1(3|4|5|6|7|8|9)\d{9}$/;
      if (value === "") {
        callback(new Error("请输入手机号"));
      } else if (!reg.test(value)) {
        callback(new Error("请输入正确的手机号"));
      } else {
        callback();
      }
    };
return{
 ruleForm: {
        idNumber: [{
          required: true,
          validator: checkIdNumber,
          trigger: "blur"
        },],
        telNumber: [{
          required: true,
          validator: checkPhoneNum,
          trigger: "blur"
        },],
        groupName: [{
          required: true,
          message: "请先选择标段在选择班组",
          trigger: "change",
          // validator: checkPhoneNum,
          // trigger: "blur"
        },],
      },
}
}
posted @ 2021-09-17 17:52  夏天的博客元  阅读(41)  评论(0)    收藏  举报