如何使用正则表达式禁止连续五位数字或更多数字?
How to disallow consecutive five digits and more using regex?
如果字符串包含连续的五位数字以及更多数字,我想禁止:12345、11111、123456。
我已成功使用以下正则表达式禁止字符串中的任何数字:
/^[^0-9]+$/
我创建了一个 sandbox demo。我想禁止五个连续 numbers/digits。目前它不允许任何数字。
这是一个测试正则表达式的好网站:
你可以试试这个:
/^[0-9]{5,}$/
5 个或更多数字将通过正则表达式。
匹配5个连续数字的正则表达式是\d{5}
。
要禁止这样的字符串(实际上是连续的数字还要多),
在源字符串的 任何位置 处,应放置此正则表达式:
- 在 否定查找中 :
(?!...)
,
- 在正则表达式匹配任意数量(零个或多个)的任意字符之后
.*?
(不情愿的变种)。
在这个否定查找之后,应该有一个匹配整个字符串的正则表达式:
.+
(我假设你对空字符串不感兴趣,所以我放了+
,
不是 *
).
上面的整个正则表达式应该以 ^
开头,然后是 $
锚点。
所以整个正则表达式可以是:^(?!.*?\d{5}).+$
如果字符串包含连续的五位数字以及更多数字,我想禁止:12345、11111、123456。
我已成功使用以下正则表达式禁止字符串中的任何数字:
/^[^0-9]+$/
我创建了一个 sandbox demo。我想禁止五个连续 numbers/digits。目前它不允许任何数字。
这是一个测试正则表达式的好网站:
你可以试试这个:
/^[0-9]{5,}$/
5 个或更多数字将通过正则表达式。
匹配5个连续数字的正则表达式是\d{5}
。
要禁止这样的字符串(实际上是连续的数字还要多), 在源字符串的 任何位置 处,应放置此正则表达式:
- 在 否定查找中 :
(?!...)
, - 在正则表达式匹配任意数量(零个或多个)的任意字符之后
.*?
(不情愿的变种)。
在这个否定查找之后,应该有一个匹配整个字符串的正则表达式:
.+
(我假设你对空字符串不感兴趣,所以我放了+
,
不是 *
).
上面的整个正则表达式应该以 ^
开头,然后是 $
锚点。
所以整个正则表达式可以是:^(?!.*?\d{5}).+$