react&antd,手机号正则,这个正则怎么改才能把警告去了?

这是一个,开头必须是1 第二位不能是1和2的手机号正则

<Form>
  <Form.Item label="用户名" name="newLoginName"
  rules={[
    { pattern: "/^1\s*[3456789]\s*(\d\s*){9}$/", message: "不能使用手机号作为用户名" }
  ]}>
      <Input placeholder="请输入用户名" size="small" maxLength={20} />
  </Form.Item>
</Form>

image.png

我把转义符都去了 结果正则没法用了,求教

阅读 1.6k
2 个回答

你把正则表达式从字符串转换为正则表达式对象就行了

<Form>
  <Form.Item
    label="用户名"
    name="newLoginName"
    rules={[
      {
        pattern: /^1\s*[3456789]\s*(\d\s*){9}$/,
        message: "不能使用手机号作为用户名",
      },
    ]}
  >
    <Input placeholder="请输入用户名" size="small" maxLength={20} />
  </Form.Item>
</Form>

/^1[3456789]\d{9}$/匹配手机号这样应该就行了,为啥要加\s

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题