在电子商务系统中,我们有邮政编码列表,我们需要为邮政编码排除2个数字范围。
例如: 从1xxxxx&开始排除的邮政编码3xxxxx,但是从6xxxxx接受。
我在javascript中有验证码,需要添加2个条件,如果号码以1和3开头,则用户有警告消息,此邮政编码不在覆盖范围内。
希望有人能提供帮助。
我目前的代码如下:
return !Validation.get('IsEmpty').test(v) && /^60/.test(v);
感谢。
答案 0 :(得分:1)
我想分享我在Jodery中验证美国邮政编码的经验,我在Oodles Technologies的一个项目中使用过。
我通过使用jQuery验证插件解决了这个问题
$("#myform").validate({
rules: {
field: {
required: true,
phoneUS: true
}
}
});
此
所需的文件<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script
它有时不起作用。
为了使它工作,我们必须包括Jquery addtional-methods.min.js 如果它仍然不起作用,那么你必须在包含正则表达式验证的validate方法之前使用以下脚本。
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(/\(?[\d\s]{3}\)[\d\s]{3}-[\d\s]{4}$/);
}, "Invalid phone number");
它终于解决了问题。如果您需要其他格式,请根据需要修改上述正则表达式。
答案 1 :(得分:0)
这将检查v是否为任何数字([0-9]),除了1或3作为第一个数字
return !Validation.get('IsEmpty').test(v) && /^[0-9]/.test(v) && !(/^[13]/.test(v))
这将检查v是否与第一个(6,7,8,9)
一样是部分数字return !Validation.get('IsEmpty').test(v) && /^[6789]/.test(v)
顺便说一下,您可能还想检查6位数({5})的邮政编码的长度和格式。在这种情况下,您可以将短语更改为
return !Validation.get('IsEmpty').test(v) && /^[6789][0-9]{5}$/.test(v)