文字列の連続する数字が4桁しかないか、数字がないことを確認するにはどうすればよいですか?
連続する4/\d{4}/
桁を検証することはわかっていますが、文字列が dh25ah1233dadh3 の場合、無効である必要があります。
有効な文字列
dkskdsokd
adad dadad
addad1257adada
1587dadad
sasasas7854
無効な文字列
dh25ah1233dadh3
fsdfdfd1982fdf2
1some1422dd
文字列の連続する数字が4桁しかないか、数字がないことを確認するにはどうすればよいですか?
連続する4/\d{4}/
桁を検証することはわかっていますが、文字列が dh25ah1233dadh3 の場合、無効である必要があります。
有効な文字列
dkskdsokd
adad dadad
addad1257adada
1587dadad
sasasas7854
無効な文字列
dh25ah1233dadh3
fsdfdfd1982fdf2
1some1422dd
質問を理解すると、次のようになります。
/^(?:\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 桁のグループで終了できます。