mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-22 18:46:45 +08:00
141 lines
3.1 KiB
JavaScript
141 lines
3.1 KiB
JavaScript
import Vue from 'vue'
|
||
import VeeValidate, {
|
||
Validator
|
||
} from 'vee-validate'
|
||
import zh_CN from 'vee-validate/dist/locale/zh_CN'
|
||
import idNoCheck from './idNoCheck'
|
||
|
||
Vue.use(VeeValidate)
|
||
Validator.locale = 'zh_CN'
|
||
Validator.localize('zh_CN', {
|
||
messages: zh_CN.messages
|
||
})
|
||
|
||
/*自定义校验规则*/
|
||
|
||
//手机号
|
||
Validator.extend('mobile', {
|
||
getMessage: () => '手机格式不正确',
|
||
// validate: value => value.length === 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value)
|
||
validate: value => value.length === 11 && /^1\d{10}$/.test(value)
|
||
})
|
||
|
||
//非空
|
||
Validator.extend('required', {
|
||
getMessage(field) {
|
||
return field + '不能为空'
|
||
},
|
||
validate(value) {
|
||
if (value != null && value != undefined) {
|
||
value = String(value)
|
||
}
|
||
if (value) {
|
||
return true
|
||
}
|
||
return false
|
||
}
|
||
})
|
||
|
||
//邮箱
|
||
Validator.extend('email', {
|
||
getMessage: () => '邮箱格式错误',
|
||
validate(value) {
|
||
return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(value)
|
||
}
|
||
})
|
||
|
||
//名字
|
||
Validator.extend('name', {
|
||
getMessage: () => '名字长度不超过2-120个字符',
|
||
validate: value => {
|
||
// return /^[\u4e00-\u9fa5·]{1,15}$/.test(value)
|
||
return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value)
|
||
}
|
||
})
|
||
|
||
//年龄
|
||
Validator.extend('age', {
|
||
getMessage: () => '年龄不得小于18岁',
|
||
validate: value => {
|
||
return value > 17 && /^\d{1,3}$/.test(value)
|
||
}
|
||
})
|
||
//被保险人年龄(不得小于18周岁)
|
||
Validator.extend('appntAge', {
|
||
getMessage: () => '年龄不得小于18周岁',
|
||
validate: value => {
|
||
return value > 17 && /^\d{1,3}$/.test(value)
|
||
}
|
||
})
|
||
|
||
//身份证号校验规则
|
||
Validator.extend('idNo', {
|
||
getMessage() {
|
||
return '您填写的证件号码有误,只能为18位以内数字或字母组合'
|
||
},
|
||
validate(value) {
|
||
if (idNoCheck.isIdno(value)) {
|
||
return true
|
||
}
|
||
return false
|
||
}
|
||
})
|
||
|
||
// 银行卡校验规则则
|
||
Validator.extend('bankCard', {
|
||
getMessage(field) {
|
||
return field + '格式不正确,请您填写正确的格式'
|
||
},
|
||
validate: value => {
|
||
return /^(\d{16}|\d{18}|\d{19})$/.test(value)
|
||
}
|
||
})
|
||
|
||
// 邮编
|
||
Validator.extend('zipCode', {
|
||
getMessage() {
|
||
return '您输入的邮编有误,请重新输入'
|
||
},
|
||
validate: value => {
|
||
return /^[0-9]{6}$/.test(value)
|
||
}
|
||
})
|
||
|
||
// 只能是数字
|
||
Validator.extend('onlyNumber', {
|
||
getMessage: field => field + '只能输入数字',
|
||
validate: value => {
|
||
if (!/^\d+$|^\d+[.]?\d+$/.test(value)) {
|
||
return false
|
||
}
|
||
return true
|
||
}
|
||
})
|
||
// 只能是正整数
|
||
Validator.extend('onlyInteger', {
|
||
getMessage: field => field + '输入错误',
|
||
validate: value => {
|
||
if (!/^[0-9]\d*$/.test(value)) {
|
||
return false
|
||
}
|
||
return true
|
||
}
|
||
})
|
||
// 身高
|
||
Validator.extend('stature', {
|
||
getMessage: () => '身高输入有误',
|
||
validate: value => {
|
||
return /^[0-9]{0,3}([.]{1}[0-9]{1})?$/.test(value) && value < 300 && value > 10
|
||
// if (value > 250) {
|
||
// return false
|
||
// }
|
||
// return true
|
||
}
|
||
})
|
||
// 体重
|
||
Validator.extend('avoirdupois', {
|
||
getMessage: () => '体重输入有误',
|
||
validate: value => {
|
||
return /^[0-9]+([.]{1}[0-9]{1})?$/.test(value) && value > 0.1
|
||
}
|
||
}) |