ant design vue表单中自定义检验规则,如手机号码

时间:2025-02-07 15:20:40
<a-form-item
      label="手机号码"
      :label-col="{ span: 8 }"
     :wrapper-col="{ span: 16 }"
    >
     <a-input
       v-decorator="[
       'user_phone',
      {rules: [{ required: true, message: '请输入手机号码', whitespace: true},{validator:phoneCheck.bind(this)}]}
      ]" />
 </a-form-item>
 
phoneCheck (rule, value, callbackFn) {
     // const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/  // 手机号正则
      // 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
       const reg =
        /^(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/; 
      if (!reg.test(value)) {
        callbackFn('手机号码格式不正确')
        return
      }
      callbackFn()
    },

// 第二种 form-modal

<template> 
   <a-form-model
          ref="ruleForm"
          :model="searchform"
          layout="inline"
          :rules="rules"
        >
      
              <a-form-model-item label="联系方式:" prop="mobile">
                <a-input v-model="" />
              </a-form-model-item>
         
       
        </a-form-model>
 </template>
<script>
export default {
  name: "",
  data() {
    return {
    
      rules: {
        mobile: [
          {
            pattern: /^1[3|4|5|7|8][0-9]\d{8}$/,
            message: "请输入正确的手机号",
          },
        ],
      },
      </script>

校验 手机号

if(!/^1[3456789]{1}\d{9}$/gi.test(this.info.contactTel)){
	uni.showToast({
		title:'请检查手机号',
		icon:'none'
	})
	return false;
}