const rulesPattern = {
phone: /^1[3-9]\d{9}$/, // 手机号
card: /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, // 身份证
email: /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]/ // 邮箱格式
remainder1: /^[0-9]\d*(\.\d{1,1})?$/, // 大于0,且最多保留一位小数
remainder2: /^[0-9]\d*(\.\d{1,2})?$/, // 大于0,且最多保留两位小数
remainder3: /^[0-9]{1,7}(\.[0-9]{1,2})?$/, // 大于0,小于9999999.99且最多保留两位小数
hundred: /^(\d{1,2}(\.\d{1,2})?|100(\.0{1,2})?)$/, // 0-100,且最多保留两位小数
pInteger: /^[1-9]\d*$/, // 正整数
pInteger1: /^[0-9]\d*$/, // 0或者正整数
}
export default rulesPattern
在页面中使用,我们通过import 引入即可
import rulesPattern from 'XXXX'
假如我们需要对表单中的某一项进行校验,实例如下:
const rules = reactive({
point: [
{ required: true, message: '请输入积分', trigger: 'blur' },
{ pattern: rulesPattern.remainder2, message: '最多保留两位小数且大于0', trigger: 'blur' }
]
})
这样就可以通过对正则校验的封装,提高代码的复用性,减少重复逻辑的编写