我有这个正则表达式可以检查 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})?$/;