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 } })