You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写允许指定字符的正则表达式?(附React Hook Form示例)

修正React Hook Form文本框的正则验证规则

你需要调整pattern中的正则表达式,使其允许指定的字符集合。以下是修正后的完整代码:

<textarea
  id="comments"
  placeholder='comments'
  {...register("comments", {
      required: true,
      minLength: {
          value: 5,
          message: "最少输入5个字符"
      },
      pattern: {
          value: /^[a-z0-9\s"?!,.-@&]+$/i,
          message: "支持字母、数字、空格、\"、?、!、逗号、连字符、点、@和&"
      }
  })}
>
</textarea>

正则表达式说明:

  • /^...$/i:^和$确保整个输入内容都符合规则,i标志忽略字母大小写
  • [a-z0-9\s"?!,.-@&]:允许的字符集合,包含:
    • a-z0-9:大小写字母与数字
    • \s:空格字符
    • "?!,.-@&:你指定的所有特殊字符(连字符放在集合末尾,避免被解析为字符范围)
  • +:要求输入至少包含一个符合规则的字符

另外修正了错误提示消息的格式,确保双引号显示正常。

内容的提问来源于stack exchange,提问作者soccerway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:47:50