20

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

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

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

4

2 回答 2

55

通过添加一些积极的前瞻来测试字符串的总长度

(?=.{3,16}$)

在正则表达式的开头。最终的正则表达式是:

/^(?=.{3,16}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/
于 2012-06-25T21:29:14.700 回答
0

使用正则表达式

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

或者

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

于 2012-06-25T21:33:02.317 回答