VUE-手机号验证

适用版本:2.*

较验代码:

    // 手机号验证函数
    const validatePhone = (rule, value, callback) => {
      // 先检查是否为空(已通过required验证)
      if (!value) {
        return callback(new Error('手机号不能为空'));
      }
      
      // 中国大陆手机号正则表达式
      const phoneReg = /^1[3-9]\d{9}$/;
      
      if (!phoneReg.test(value)) {
        callback(new Error('请输入有效的手机号(11位数字,以1开头)'));
      } else {
        callback(); // 验证通过
      }
    };

较验引用:

        rules: {
          groupContactsPhone: [
            {required: true, message: '请输入集团联系人手机号', trigger: 'change'},
            { validator: validatePhone, trigger: 'change' }
          ],
          enterpriseContactsPhone: [
            {required: true, message: '请输入企业联系手机号', trigger: 'blur'},
            { validator: validatePhone, trigger: 'change' }
          ],
          peopleDeath: [
            {required: true, message: '请输入人员死亡(人)', trigger: 'change'},
            {type: 'number', message: '必须为数字值', trigger: 'change'},
            {
              validator: (rule, value, callback) => {
                if (value < 0) {
                  callback(new Error('人数不能小于0'));
                } else {
                  callback();
                }
              }, trigger: 'change'
            }
          ],
          peopleSeriousInjury: [
            {required: true, message: '请输入人员重伤(人)', trigger: 'change'},
            {type: 'number', message: '必须为数字值', trigger: 'change'},
            {
              validator: (rule, value, callback) => {
                if (value < 0) {
                  callback(new Error('人数不能小于0'));
                } else {
                  callback();
                }
              }, trigger: 'change'
            }
          ],
          peopleSlight: [
            {required: true, message: '请输入人员轻伤(人)', trigger: 'change'},
            {type: 'number', message: '必须为数字值', trigger: 'change'},
            {
              validator: (rule, value, callback) => {
                if (value < 0) {
                  callback(new Error('人数不能小于0'));
                } else {
                  callback();
                }
              }, trigger: 'change'
            }
          ],
          propertyLoss: [
            {required: true, message: '请输入财产损失(元)', trigger: 'change'},
            {type: 'number', message: '必须为数字值', trigger: 'change'},
            {
              validator: (rule, value, callback) => {
                if (value < 0) {
                  callback(new Error('金额不能小于0'));
                } else {
                  callback();
                }
              }, trigger: 'change'
            }
          ],
        },

 

posted @ 2025-10-11 16:43  李文学  阅读(28)  评论(0)    收藏  举报