用于验证 CAGE 代码的正则表达式

问题描述 投票:0回答:2

我们需要编写一个可以验证 CAGE 代码的正则表达式

CAGE 代码是五 (5) 个位置代码。代码的格式是

  • 第一个和第五个位置必须是数字
  • 第二个、第三个和第四个可以是字母/数字的任意混合,不包括字母 I 和 O。

我们提出了一个正则表达式

cageCode = new RegEx(/^[a-zA-Z0-9]{5}$/)
,它没有正确验证给定的要求。

可以验证上述要求的可能的正则表达式是什么?

javascript angular regex typescript
2个回答
1
投票

您正在尝试匹配 5 个字符,可以是数字或字母。尝试这样的事情:

^\d(?:(?![ioIO])[A-Za-z\d]){3}\d$

分解:

  1. ^\d:将检查字符串是否以数字开头
  2. (?:(?![ioIO])[A-Za-z\d]){3}: 检查除 i/o/I/O 之外是否有 3 个字母数字字符
  3. \d$:验证字符串是否以数字结尾

0
投票

实现要求的简单正则表达式是:

^\d[A-HJ-NP-Za-h-j-np-z]{3}\d$

解释为:

^        Start of string
\d       A digit
[A-HJ-NP-Za-hj-np-z]
         A character clas comprising A to H, or J to N, or P to Z,
         plus the same in lower case. This thus omits the  I, i O and o.
{3}      Three of the above characters
\d       A final digit
$        End of string
© www.soinside.com 2019 - 2024. All rights reserved.