element-ui中手機號/中文姓名/英文姓名/密碼/郵箱/日期 等簡單的驗證規(guī)則(vue)

驗證手機號/中文姓名/英文姓名/密碼/郵箱等:

data : {

? ? // 設(shè)置身份證號的驗證規(guī)則

? ? const idCard = (rule, value, callback) => {

? ? ? if (!value) {

? ? ? ? callback(new Error('請輸入身份證號'))

? ? ? } else {

? ? ? ? const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

? ? ? ? if (reg.test(value)) {

? ? ? ? ? callback()

? ? ? ? } else {

? ? ? ? ? return callback(new Error('請輸入正確的身份證號'))

? ? ? ? }

? ? ? }

? ? }

? ? // 設(shè)置手機號的驗證規(guī)則

? ? const checkPhone = (rule, value, callback) => {

? ? ? if (!value) {

? ? ? ? callback(new Error('請輸入聯(lián)系方式'))

? ? ? } else {

? ? ? ? const reg = /^1[3|4|5|7|8][0-9]\d{8}$/

? ? ? ? if (reg.test(value)) {

? ? ? ? ? callback()

? ? ? ? } else {

? ? ? ? ? return callback(new Error('請輸入正確的電話'))

? ? ? ? }

? ? ? }

? ? }

? ? // 設(shè)置密碼的驗證規(guī)則

? ? const checkPass = (rule, value, callback) => {

? ? ? if (value === '') {

? ? ? ? callback(new Error('請輸入密碼'))

? ? ? } else {

? ? ? ? if (this.addForm.checkPass !== '') {

? ? ? ? ? this.$refs.addForm.validateField('checkPass')

? ? ? ? }

? ? ? ? callback()

? ? ? }

? ? }

? ? // 設(shè)置確認密碼的驗證規(guī)則

? ? const checkPassAgain = (rule, value, callback) => {

? ? ? if (value === '') {

? ? ? ? callback(new Error('請再次輸入密碼'))

? ? ? } else if (value !== this.addForm.password) {

? ? ? ? callback(new Error('兩次輸入密碼不一致!'))

? ? ? } else {

? ? ? ? callback()

? ? ? }

? ? }

? ? // 英名驗證

? ? const enName = (rule, value, callback) => {

? ? ? if (!value) {

? ? ? ? callback(new Error('請輸入英文名'))

? ? ? } else {

? ? ? ? const reg = /^[a-zA-Z]+$/ // 驗證沒有空格的英文名

? ? ? ? // const reg = /^[a-zA-Z][A-Za-z\s]*[a-zA-Z]*$/ 驗證有空格的英文名

? ? ? ? if (value.length < 100 && reg.test(value)) {

? ? ? ? ? callback()

? ? ? ? } else {

? ? ? ? ? return callback(new Error('請輸入正確的英文名'))

? ? ? ? }

? ? ? }

? ? }

? ? // 中名驗證

? ? const chnName = (rule, value, callback) => {

? ? ? if (!value) {

? ? ? ? callback(new Error('請輸入中文名'))

? ? ? } else {

? ? ? ? const reg = /^[\u4e00-\u9fa5]+$/

? ? ? ? if (value.length < 100 && reg.test(value)) {

? ? ? ? ? callback()

? ? ? ? } else {

? ? ? ? ? return callback(new Error('請輸入正確的中文名'))

? ? ? ? }

? ? ? }

? ? }

? ? return {

? ? ? // 新增數(shù)據(jù)規(guī)則

? ? ? addRules: {

? ? ? ? // 身份證

? ? ? ? credentialNo: [

? ? ? ? ? { required: true, validator: idCard, trigger: 'blur' }

? ? ? ? ],

? ? ? ? // 密碼

? ? ? ? password: [

? ? ? ? ? { required: true, validator: checkPass, trigger: 'blur' },

? ? ? ? ? { min: 6, max: 12, message: '長度在 6 到 12 個字符', trigger: 'blur' }

? ? ? ? ],

? ? ? ? // 校驗密碼

? ? ? ? checkPass: [

? ? ? ? ? { required: true, validator: checkPassAgain, trigger: 'blur' },

? ? ? ? ? { min: 6, max: 12, message: '長度在 6 到 12 個字符', trigger: 'blur' }

? ? ? ? ],

? ? ? ? chnName : [

? ? ? ? ? { required: true, validator: chnName, trigger: 'blur' }

? ? ? ? ],

? ? ? ? enName: [

? ? ? ? ? { required: true, validator: enName, trigger: 'blur' }

? ? ? ? ],

? ? ? ? phone: [

? ? ? ? ? { required: true, validator: checkPhone, trigger: 'blur' }

? ? ? ? ]

? ? ? },

? ? ? ? // 驗證郵箱

? ? ? const validateEmail = (rule, value, callback) => {

? ? ? ? ? if (/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/.test(value) || !value) {

? ? ? ? ? ? callback()

? ? ? ? ? } else {

? ? ? ? ? ? callback(new Error('請輸入正確郵箱'))

? ? ? ? ? }

? ? ? }

? ? }

}




對出生日期進行限制(只能選擇當天以前的日期)

獲取今天日期


let nowDay = new Date().toLocaleDateString().split('/').join('-')???????

// 將1970/08/08轉(zhuǎn)化成1970-08-08



template中:

<el-date-picker v-model="addForm.birthDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="選擇日期" :picker-options="pickerBeginDateBefore" style="width: 100%"></el-date-picker>

data中:

data(){

? ? return {

? ? ? // 出生日期限制

? ? ? pickerBeginDateBefore: {

? ? ? ? disabledDate (time) {

? ? ? ? ? return time.getTime() > Date.now() - 8.64e7

? ? ? ? ? //(帶 - 8.64e7時,今天之前的日期,不包括今天)

? ? ? ? ? // return time.getTime() > Date.now() - 8.64e7 (今天之后的日期,包括今天)

? ? ? ? }

? ? ? }

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容