将 Jquery Validate 插件与 phoneUS 方法一起使用。
下面的代码(简化了一点)在任何地方都可以使用,当然 IE 是我开发人员存在的祸根。
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "");
jQuery("#myform").validate({
rules: {
EmailF: {
required: true,
email: true
},
PhoneF:{
required: "#mycheck:checked",
phoneUS: true
},
},
messages: {
EmailF: " "
},
});
});
</script>
基本上我有一个复选框(#mycheck),并且在选中时需要验证 PhoneF 字段。如果未选中,则不需要验证。
如前所述,工作 FF、Chrome、Safari 甚至在 iPhone 上,但 IE 无法解决这种情况。
我尝试了几种不同的方法将必填字段转换为一个函数,以检查 IE 选中的复选框是否效果不佳。
非常感谢任何帮助!