AntDesign1.x中的a-input组件添加手机格式、身份证号格式验证

<template>
		<!-- 身份证号 -->
		<a-input
				v-decorator="[
				record.model, // input 的 name
				{
					initialValue: getInitlVal(record), // 默认值
					rules: [
                            {
                              required: true,
                              message: '必填项,请输入数据!!!',
                              trigger: 'blur',
                            },
                           { validator: this.validIdCard }
                    ]
				}
			]"
			/>
		<!-- 手机号 -->
		<a-input
			v-decorator="[
				record.model, // input 的 name
				{
					initialValue: getInitlVal(record), // 默认值
					rules: [
                            {
                              required: true,
                              message: '必填项,请输入数据!!!',
                              trigger: 'blur',
                            },
                            { validator: this.validNumber }
                          ]
				}
			]"
		/>
<template/>

methods: {
  		validIdCard(rule, value, callback) {
			const idCardRegex = /^\d{15}(\d{2}[\dxX])?$/;
			let arr =  /^\d+$|^\d+[.]?\d+$/;
			if (!value) {
				callback()
			}else if(!idCardRegex.test(value)) {
				callback(new Error('身份证号格式不正确'))
			} else {
				// await this.getChangeID(value)
				callback()
			}
		},
		validNumber(rule, value, callback) {
			const phoneRegex = /^1[3-9]\d{9}$/;
			let arr =  /^\d+$|^\d+[.]?\d+$/;
			if (!value) {
				//callback(new Error('请输入电话号码'))
				callback()
			} else if (!arr.test(value)) {
				callback(new Error('请输入数字'))
			} else if(!phoneRegex.test(value)) {
				callback(new Error('手机号格式不正确'))
			} else {
				// await this.getChangeID(value)
				callback()
			}
		},
}
posted @ 2024-10-11 14:18  Felix_Openmind  阅读(27)  评论(0编辑  收藏  举报