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

如何编写符合名字校验规则、禁止仅含空格或特殊字符的正则

符合需求的名字校验正则

原有正则错误原因

你之前编写的正则存在两处核心问题,导致规则失效:

  1. 语法结构错误:字符类未正确闭合,点号未放在字符集合内,会作为通配符匹配任意字符,所以会放行不在规则内的特殊字符
  2. 缺少必填的英文字母校验规则,无法过滤全特殊字符/空白的输入

最终可用正则

方案1:满足「至少包含1个英文字母,所有字符均为允许范围」

/^(?=.*[a-zA-Z])[a-zA-Z\s.'-]+$/i

各部分规则说明:

  • ^ 匹配字符串起始位置
  • (?=.*[a-zA-Z]) 正向预查,强制要求字符串内至少存在1个英文字母,自动过滤全特殊字符、全空白的输入
  • [a-zA-Z\s.'-]+ 匹配1个及以上的允许字符,允许范围包括:大小写英文字母、空白字符、.、'、-,字符类中-放在末尾避免被识别为范围符号
  • $ 匹配字符串结束位置
  • i 修饰符实现英文字母大小写不敏感匹配

方案2:满足「首字符必须为英文字母,其余字符为允许范围」

如果要求首字符必须是英文字母,可直接用更简单的写法,无需预查:

/^[a-zA-Z][a-zA-Z\s.'-]*$/i

该规则天然满足「至少包含1个英文字母」的要求,同时限制首字符合规。

校验示例

  • 可匹配的合法输入:John Doe、O'Conner、Mary-Ann、Dr. Smith
  • 不可匹配的非法输入:--- 、...''、user@example、张三

内容的提问来源于stack exchange,提问作者Joe O'Brien

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:27:03