我有这个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>
但是当我点击提交按钮时它不会验证zip和电子邮件,它会提交表单。我的“表达”是错的吗?
由于
答案 0 :(得分:7)
这个五字符,仅限数字的邮政编码概念只能处理美国人。
其他国家/地区的邮政编码更复杂,需要的数字更少或更多,或者使用非数字字符。例如,Canada supports alphanumeric postal codes。
如果您确定希望本网站仅适用于美国人,那么请不要担心。否则,我建议让该字段更灵活。
如果你使用内置的验证规则,我认为对于像这样的简单表单你会不那么头疼。它可以非常容易地处理这两个领域。
看到这个小提琴: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>