正则表达式只有7或13个数字字符
Regular expression only 7 or 13 numeric only characters
我目前使用regex: /^'d+$/
只做数字字段验证,但我需要扩展这一点,如果可能的话,使用以下规则:
只有7个数字字符或 13个数字字符
例子:
- Pass: 1234567
- : 1234567890123
- : 12345678
- : 12345678901234
- : 12 @45 !78901234
- : 12 @45 !78
- : 123
使用pipe('|')符号更新限制重复的正则表达式。
/^(?:'d{7}|'d{13})$/
这里的正则表达式说明
你在解决这个问题时是在哪里卡住的?你说
仅7个数字字符或13个数字字符
通常,为了匹配某些数量的事物,我们使用所谓的量词,例如*
表示零或多个,?
表示一个或多个,{n}
表示恰好n, {n,}
表示n或更多,{n,m}
表示n和m之间。然而,没有单一的量词表示"恰好n或m次"。
|
)表示。这在任何regexp入门教程中都有描述。所以在你的情况下,相关的regexp是:
/^(REGEXP-FOR-7-CHARS|REGEXP-FOR-13-CHARS)$/
^ ALTERNATION (PIPE/OR)
正如其他答案所建议的那样,这变成了
/^('d{7}|'d{13})$/
可以了
/^('d{13}|'d{7})$/
您必须在6 = 13 - 7
/^'d{7}('d{6})?$/
我发现这个解决方案更灵活一点,然后说/^('d{7}|'d{13})$/
,因为它也可以在没有锚^$
的情况下使用,以匹配前7或前13个数字字符。当您试图提取与您试图验证的数据相似的数据时,这可能很有用。
相关文章:
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 如何仅替换第一个数字(用连字符分隔)
- 密码正则表达式:“至少 1 个字母、1 个数字、1 个特殊字符,并且不应以特殊字符开头”
- 任意字符数的正则表达式不受限制,但应仅允许 12 个数字
- 正则表达式至少包含 10 个字符,包括 1 个数字和一个大写字母
- Javascript Regex-9个字符长,以'所以-'并且以6个数字结尾
- JavaScript Regex应仅包含N个数字字符
- 每隔三个数字字符添加一个逗号
- 查找字符串中的第一个数字,后跟 x 个字符数
- 在输入3个数字后,自动插入“-"并将限制设置为9个字符
- 如何在 JavaScript 模式中包含带有连字符的两个数字
- 正则表达式只有7或13个数字字符
- 最小8个字符和至少1个数字的正则表达式
- Regex用于在8个字符的字符串中搜索连续的两个数字和字母
- Regex模式至少匹配字符串中的1个数字和1个字符
- Regex for Should由8到20个数字字符组成,包括空格和一个连字符,并且连字符不能是第一个或最后一个字符
- 如何限制字段只接受4个数字字符作为输入
- 验证输入值包含x个数字字符
- 13个字符的字母数字字符串的正则表达式,正好包含3个字符和10个数字