Javascript正则表达式Zipcode验证问题

Javascript正则表达式Zipcode验证问题,javascript,regex,Javascript,Regex,我使用下面的正则表达式来验证5位zipcode。但它不起作用 var zipcode_regex = /[\d]{5,5}/; if (zipcode_regex.test($.trim($('#zipcode').val())) == false) alert('invalid zipcode'); 我还在代码片段中使用jQuery 请帮助..只需使用/^\d{5}$/ 正文必须至少包含30个字符;如果字符串中有一个五位数的子字符串,则您输入的21也与正则表达式匹配。如果您想验证“只有五位数

我使用下面的正则表达式来验证5位zipcode。但它不起作用

var zipcode_regex = /[\d]{5,5}/;
if (zipcode_regex.test($.trim($('#zipcode').val())) == false)
alert('invalid zipcode');
我还在代码片段中使用jQuery


请帮助..

只需使用
/^\d{5}$/


正文必须至少包含30个字符;如果字符串中有一个五位数的子字符串,则您输入的21也与正则表达式匹配。如果您想验证“只有五位数字,没有其他数字”,那么您需要验证您的正则表达式:

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');
}

但它不起作用。正在发生什么事?你期望发生什么事?请提供一些输入和输出的例子,更精确一些。你能解释一下区别是什么以及为什么它会有帮助吗?哦,我只是简化了正则表达式,也许我应该在注释部分写出来。但我不认为OP的问题与这个正则表达式有关,这个正则表达式正好匹配5位数字。这可能是因为我自己。我们不知道OP的问题是什么。但我认为你是对的。您需要使用
^
$
锚定表达式。否则,
\d{5}
将匹配任何至少有5位数字的字符串。这就是我的目标;)@蒂姆:这是不同的,因为它是锚定的。。。我想这就是问题所在,但在OP澄清之前,我们还不能确定。@FelixKling:哎呀。老实说,当我第一次读到尼维克的答案时,我没有看到锚。如果我有,我就不会写我的。