18位字母数字校验

 18位字母数字校验:

const otherRules = [
  {
    validator: (a: any, b: any, callback: any) => {
      console.log('callback',callback)
      if (b) {
        if (!/^[A-Za-z0-9]+$/.test(b)) {
          callback("只能输入数字、字母");
        } else if (b.length === 18 || !b) {
          callback();
        } else {
          callback("必须为18位数字、字母");
        }
      }
      callback()
    },
  },
];

 18位校验:

const otherRules = [
	{
		validator: (a: any, b: any, callback: any) => {
			if (Number(b).toString().length === 18 || !b) {
				callback();
			} else {
				callback('必须为18位数字');
			}
		},
	},
];

 input框:

<Form.Item
          shouldUpdate={(pre, next) =>
            pre.invoice_option !== next.invoice_option ||
            pre.customer_type !== next.customer_type
          }
          noStyle
        >
          {({ getFieldValue }) =>
            <Form.Item
              label='纳税人识别码'
              name='license_no'
              rules={(getFieldValue("invoice_option") === "0" ||
                getFieldValue("customer_type") === "1") ? otherRules : [{
                  required: true,
                  message: "必填",
                }, ...otherRules]}
            >
              <Input placeholder='请输入纳税人识别码' />
            </Form.Item>

          }
        </Form.Item>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值