0

文字列の連続する数字が4桁しかないか、数字がないことを確認するにはどうすればよいですか?

連続する4/\d{4}/桁を検証​​することはわかっていますが、文字列が dh25ah1233dadh3 の場合、無効である必要があります。

有効な文字列

dkskdsokd
adad dadad
addad1257adada
1587dadad
sasasas7854

無効な文字列

dh25ah1233dadh3
fsdfdfd1982fdf2
1some1422dd
4

1 に答える 1

2

質問を理解すると、次のようになります。

/^(?:\D*\d{4}\D*)*$/

これは、「一部の非数字、次に4桁、さらに非数字」というサブパターンの任意の数に一致します。

4桁のグループが1つだけ必要な場合は、次のようになります

/^\D*(?:\d{4})?\D*$/

編集— 最初の数字が必要で、8 (または 12 または 16 ...) 桁のグループを受け入れたくない場合は、次のようにします。

/^(?:\D*\d{4}\D+)*$/

編集これをもう一度試してみましょう:

/^(?:\D*\d{4}\D+)*(?:\D*\d{4})?$/

これにより、文字列を 4 桁のグループで終了できます。

于 2012-10-29T20:07:41.030 に答える