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 に答える