5桁の数字をチェックするこの正規表現があります^\d{5}$
空の文字列に対してもtrueを返すように変更するにはどうすればよいですか?
<script type="text/javascript">
var regex = /^\d{5}$/;
alert(regex.test(12345));
alert(regex.test(''));
</script>
5桁の数字をチェックするこの正規表現があります^\d{5}$
空の文字列に対してもtrueを返すように変更するにはどうすればよいですか?
<script type="text/javascript">
var regex = /^\d{5}$/;
alert(regex.test(12345));
alert(regex.test(''));
</script>
それを囲み、()
を追加し?
て、パターン全体をオプションにします。事実上、^\d{5}$
OR ^$
(空の文字列)と一致しています。
var regex = /^(\d{5})?$/;
console.log(regex.test(12345));
console.log(regex.test(''));
// true
// true
// Too long, too short
console.log(regex.test(123456));
console.log(regex.test('1'));
// false
// false
5桁が存在することを証明する以外に何かをするつもりがない限り、キャプチャしないグループを使用して(?: )
、わずかなリソースを節約できることに注意してください。
var regex = /^(?:\d{5})?$/;