【element-ui】form表单手机号、车牌号、带小数点的数字校验规则

  1. 根目录下新建utils文件,utils新建validator.js
// 校验电话
export const isvalidPhone = (phone) => {
  const reg = /^1([38][0-9]|4[014-9]|[59][0-35-9]|6[2567]|7[0-8])\d{8}$/;
  return reg.test(phone);
};

// 校验带小数点的数字
export const isvalidNumber = (number) => {
  // const reg = /^(([1-9]{1}\d*)|(0{1}))(\.\d{0,2})$/g; //小数限制0-2位
  const reg = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/;
  return reg.test(number);
};

// 校验车牌号
export const isVehicleNumber = (vehicleNumber) => {
  var xreg =
    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
  var creg =
    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  if (vehicleNumber.length == 7) {
    return creg.test(vehicleNumber);
  } else if (vehicleNumber.length == 8) {
    return xreg.test(vehicleNumber);
  } else {
    return false;
  }
};

2.引入校验规则并使用(template模板中的配置省略,参考element-ui)


import {
  isvalidPhone,
  isvalidNumber,
  isVehicleNumber,
} from "@/libs/util.validator";


export default {
	data() {
	    // 数字校验规则
    	let validatorPrice = (rule, value, callback) => {
      		if (!value) return callback(new Error("请输入金额"));
      		if (!Number(value)) return callback(new Error("请输入数字值"));
      		if (!isvalidNumber(value)) return callback(new Error("请输入正确价格"));
      		callback();
    	};
    	// 车牌号校验规则
    	let validatorCph = (rule, value, callback) => {
      		if (isVehicleNumber(value)) {
        	callback();
      		} else {
        	return callback(new Error("车牌号不正确"));
      		}
    	};
    	// 手机校验规则
    	let validatorDh = (rule, value, callback) => {
      		if (!value) {
        		callback(new Error("请输入电话号码"));
      		} else if (!isvalidPhone(value)) {
        		//判断用户输入的值是否符合规则
        		callback(new Error("请输入正确的11位手机号码"));
      		} else {
        	callback();
      	};

		return {
			rules: {
        		price: [{ required: true, validator: validatorPrice, trigger: "blur" }],
        		cph: [{ required: true, validator: validatorCph, trigger: "blur" }],
        		dh: [{ required: true, validator: validatorDh, trigger: "blur" }],
      		},
		}
    };
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值