正则表达式限制字符串大小

时间:2012-06-25 21:22:14

标签: regex

如何限制此正则表达式的字符串大小?

/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/

我只需要添加量词{3,16}

3 个答案:

答案 0 :(得分:35)

撒上一些positive lookahead以测试字符串的总长度,如此

/^(?=.{3,16}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/

答案 1 :(得分:0)

我不知道为什么你需要这样做但你可以尝试将你的表达式分成2个字符串并在以后连接它们。您确定没有其他方法可以验证您的输入吗?就像现有的图书馆一样。

答案 2 :(得分:0)

使用正则表达式

/^[a-z](?:[a-z\d]|_(?!_)){1,14}[a-z\d]$/

/^(?=.{3,16}$)[a-z][a-z\d]*(?:_[a-z\d]+)*$/