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

如何用jQuery正则验证6组4位字母数字的连字符分隔格式?

解决字母数字分组匹配的正则问题

你需要的正则表达式应该匹配6组4位字母/数字,每组之间用连字符分隔的格式,正确写法如下:

/^([a-z0-9]{4}-){5}[a-z0-9]{4}$/i

你原来的正则失效原因

你的正则/^([a-z0-9]{4}-){5}/i有两个核心问题:

  1. 仅匹配了前5组xxxx-的结构,没有覆盖最后一组无连字符的4位字符;
  2. 缺少结尾锚点$,导致只要输入开头符合前5组格式,哪怕后面多了无关字符、少了最后一组,都会被判定为匹配成功。

正确正则的拆解

  • ^:锚定字符串开头,确保从第一个字符开始匹配;
  • ([a-z0-9]{4}-){5}:重复5次“4位字母数字+连字符”的组合,对应格式里的前5组;
  • [a-z0-9]{4}:匹配最后一组4位字母数字(无后续连字符);
  • $:锚定字符串结尾,确保输入内容完全符合格式,没有多余字符;
  • /i:忽略大小写修饰符,a-z会自动匹配A-Z,无需额外写a-zA-Z。

验证示例

  • 有效输入:abcd-1234-wxyz-5678-ABCD-90EF
  • 无效输入:
    • abcd-1234-wxyz-5678-ABCD(缺少最后一组)
    • abcd-1234-wxyz-5678-ABCD-90EF-(结尾多了连字符)
    • abcd-1234-wxyz-5678-ABCD-90EFG(最后一组超过4位)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:34:57