$('#create_membership').click(function () {
var zip = $('#zip').val();
else if (zip == ''){
errorMessage = "*Zipcode required!";
}
else if ((zip.length)< 5 || (zip.length)>5 ){
errorMessage = "*zipcode should only be 5 digits";
}
else if ( zip =( "^[0-9]+$" )){
errorMessage = "*zipcode should be numbers only";
}
我得到第一个和第二个,即邮政编码的空和长度验证。但是对于第三种情况,数字验证不起作用。任何人帮我获得数字验证 提前谢谢
答案 0 :(得分:13)
这不是特定于jQuery的,但是你有几个语法错误,你的验证逻辑可以大大简化:
$('#create_membership').click(function()
{
var zip = $('#zip').val();
var zipRegex = /^\d{5}$/;
if (!zipRegex.test(zip))
{
// trigger error
}
else
{
// success!
}
});
我应该注意,验证邮政编码不一定只是检查5个数字。我也会尝试在某个地方找到一个列表,并确保他们输入的是有效的美国邮政编码。此外,您可能还希望允许使用4位数的补充代码。
答案 1 :(得分:3)
您需要将正则表达式视为函数,否则您只需将值赋给“zip”。见下文:
$('#create_membership').click(function () {
var zip = $('#zip').val();
var reg = /^[0-9]+$/;
else if (zip == ''){
errorMessage = "*Zipcode required!";
}
else if ((zip.length)< 5 || (zip.length)>5 ){
errorMessage = "*zipcode should only be 5 digits";
}
else if (!reg.test(zip)){
errorMessage = "*zipcode should be numbers only";
}
});
答案 2 :(得分:0)
你可以尝试这样的事情 - How to allow only numeric (0-9) in HTML inputbox using jQuery?
如果您只想要正则表达式,请尝试此操作 - jquery: validate that text field is numeric
答案 3 :(得分:0)
号码验证
var data=$('#zip').val();
var len=data.length;
var c=0;
for(var i=0;i<len;i++)
{
c=data.charAt(i).charCodeAt(0);
if(c <48 || c >57)
{
$('.error').show();
event.preventDefault();
break;
}
else
{
$('.error').hide();
}
}