RegEx不会限制最大字符数

时间:2017-08-08 19:57:50

标签: regex

我试图将长度限制为20个字符。下限是有尊重的,但上限不是。

^\+([\s]*[\d]+[\s]*){1,20}$

为了防止超过20个字符,我需要做些什么?

2 个答案:

答案 0 :(得分:2)

限制{1,20}正在应用于整个群组([\s]*[\d]+[\s]*)

您可以使用前瞻来断言最小和最大长度:

^(?=.{1,20}$)\+\s*\d+\s*$

(?=.{1,20}$)是一个积极的先行,断言120之间的输入长度。

答案 1 :(得分:1)

如果您的字符串可以包含空格和数字,则可以使用:

^\+[\d\s]{0,19}$