我有这个 jquery 代码:
<script src="../js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function(){
jQuery("#zip").validate({
expression: "if (VAL.match(/^[0-9]{5}$//)) return true; else return false;",
message: "invalid zip code"
});
jQuery("#email").validate({
expression: "if (VAL.match(/^[^\\W][a-zA-Z0-9\\_\\-\\.]+… return true; else return false;",
message: "invalid email"
});
});
</script>
<form action="save.php">
<input type="text" name="email" id="email" />
<input type="text" name="zip" id="zip" />
<input type="submit" name="go" id="go" value ="go" />
</form>
但是当我点击提交按钮时,它不会验证邮政编码和电子邮件,而是提交表单。难道我的“表达”有问题吗?
谢谢
最佳答案
对此表单的反馈
这种仅包含数字的五个字符的邮政编码概念仅适用于美国境内的人员。
其他国家/地区的邮政编码更为复杂,需要的数字更少或更多,或者包含非数字字符。例如,Canada supports alphanumeric postal codes .
如果您确定您希望该网站仅适用于美国用户,则不必担心。否则我建议让该字段更加灵活。
代码问题
我认为,如果您使用内置的验证规则,那么对于这样的简单表单,您将不再那么头疼。它可以非常轻松地处理这两个领域。
看到这个 fiddle :http://jsfiddle.net/tzMTs/
来源:
<script src="../js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$("#somethingForm").validate();
</script>
<form id="somethingForm" action="save.php">
<span>E-Mail</span>
<input type="text" name="email" id="email" class="required email" />
<br>
<span>Zip Code</span>
<input type="text" name="zip" id="zip"
class="required digits" minlength="5" maxLength="5" />
<input type="submit" name="go" id="go" value ="go" />
</form>
关于jquery 表单验证不起作用 - zip 和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462181/