如何将9位或14位长的数字与正则表达式匹配?

Ton*_*ony 4 regex

如果键入9或14位数,我需要通过Regex表达式检查.

表达\d{9}|\d{14}似乎不正常,有什么不对?

And*_*mbu 14

这个正则表达式应该工作.

^(\d{9}|\d{14})$
Run Code Online (Sandbox Code Playgroud)

你可以发布你正在使用的代码片段并告诉我们你使用的语言是什么?如果你正在使用正则表达式,那么你有一个字符串,我确信你的语言可以计算字符串长度.

编辑:
正如Rubens Farias在评论中指出的那样,^ ...是必需的,因为你的正则表达式会匹配任何超过9位的数字,因为这个数字有一个9位长的子字符串.

无论如何,检查你是否可以用你的语言的字符串的方法/功能


cod*_*ict 7

您可以使用:

^(?:\d{9}|\d{14})$
Run Code Online (Sandbox Code Playgroud)

说明:

^       - Start anchor
(?:     - Start of non-capturing group      
 \d{9}  - 9 digits
 |      - alternation
 \d{14} - 14 digits
)       - close of the group.
$       - End anchor
Run Code Online (Sandbox Code Playgroud)

或者你可以这样做:

^\d{9}(?:\d{5})?$
Run Code Online (Sandbox Code Playgroud)

匹配9数字后跟可选5数字.