求符合CAGE Code格式要求的正则表达式验证方案
符合要求的CAGE Code正则表达式
直接上满足所有规则的正则表达式:
const cageCodeRegex = /^\d[A-HJ-NP-Z0-9]{3}\d$/i;
规则对应拆解
- 第一位和第五位必须是数字:用
\d匹配,分别放在正则的开头和结尾 - 中间三位排除字母I、O:用
[A-HJ-NP-Z0-9]限定——这个字符集包含A到H、J到N、P到Z的字母(跳过I和O),以及所有数字 - 不区分大小写:末尾加
i修饰符,自动兼容大小写输入
验证逻辑说明
^和$确保正则匹配整个5位字符串,避免"1ABC"这类短串或"1ABC2X"这类长串被误判- 中间的
{3}明确指定中间部分必须是3个符合规则的字符,刚好凑够5位总长度
原来的正则/^[a-zA-Z0-9]{5}$/的问题在于:既没限制首尾必须是数字,也没排除I、O这两个字母,完全不符合CAGE Code的具体规则。
内容的提问来源于stack exchange,提问作者Angular animal
相关产品推荐
相关产品推荐

