4

我正在使用以下正则表达式来验证 5 位邮政编码。但它不起作用。

var zipcode_regex = /[\d]{5,5}/;
if (zipcode_regex.test($.trim($('#zipcode').val())) == false)
alert('invalid zipcode');

我也在代码片段中使用 jQuery。

4

2 回答 2

6

如果您的字符串中某处有一个五位数的子字符串,您的正则表达式也会匹配。如果你想验证“只有五位数,没有别的”,那么你需要锚定你的正则表达式:

var zipcode_regex = /^\d{5}$/;
if (zipcode_regex.test($.trim($('#zipcode').val())) == false)
    alert('invalid zipcode');

你可以更容易地得到它:

if (!(/^\s*\d{5}\s*$/.test($('#zipcode').val()))) {
    alert('invalid zipcode');
}
于 2012-05-09T09:59:23.967 回答
0

此正则表达式恰好匹配 5 位数字:

/^\d{5}$/
于 2012-05-09T09:48:26.460 回答