Javascript 5位zip或空的正则表达式
我有一个正则表达式,它检查5位数字Javascript 5位zip或空的正则表达式,javascript,regex,Javascript,Regex,我有一个正则表达式,它检查5位数字^\d{5}$ 我如何更改它,使其对于空字符串也返回true <script type="text/javascript"> var regex = /^\d{5}$/; alert(regex.test(12345)); alert(regex.test('')); </script> var regex=/^\d{5}$/; 警报(正则表达式测试(12345)); 警报(正则表达式测试(“”)); 将其括在()中,并添加一个?以
^\d{5}$
我如何更改它,使其对于空字符串也返回true
<script type="text/javascript">
var regex = /^\d{5}$/;
alert(regex.test(12345));
alert(regex.test(''));
</script>
var regex=/^\d{5}$/;
警报(正则表达式测试(12345));
警报(正则表达式测试(“”));
将其括在()
中,并添加一个?
以使整个图案可选。实际上,您正在匹配^\d{5}$
或^$
(一个空字符串)
请注意,除非您打算使用5位数字执行某些操作,而不是证明它们存在,否则您可以使用非捕获组(?:)
,以节省少量资源
var regex = /^(?:\d{5})?$/;
谢谢,单用“?”就足够了,我需要“$”吗?@RegisteredUser将
$
放在末尾,但将\d{5}
包围在()
中,并将?
直接放在后面。#五个失败了
var regex = /^(?:\d{5})?$/;