【发布时间】:2011-10-10 03:58:53
【问题描述】:
我需要为注册页面中的地址字段提供邮政信箱验证。现在我们在 jquery 中有一个正则表达式验证,它有一些限制如下:
- 如果给出地址 polo Rd,它会识别 polo 中的“po”并警告错误消息。
所以,我们应该构建一个新的验证,它不应该接受带有值的地址行:
-
"PO BOX","PO BIN","BIN","P.O BOX","P.O BIN","P.O","PO" - 以上值在任何情况下都可以
- 上述单词之前、中间和之后的空格也应该被找到并验证。例如:
" P O 1234 "应经过验证并警告错误消息。 - 但是
"Polo Rd"、"Robin Rd"、"testbintest"应该被接受为两个地址行中的有效地址。
现在jquery验证的代码是:
jQuery.validator.addMethod("nopobox", function(value, element) {
return this.optional(element) || ! /(P(OST)?\.?\s*O(FF(ICE)?)?\.?\s*(?<!(BOX)|(BIN)))|(^[^0-9]*((P(OST)?\.?\s*O(FF(ICE)?)?\.?)|(?<!(BOX)|(BIN))))/i.test(value);
}, "");
【问题讨论】:
-
嗨,任何人都可以解决这个问题吗?请
标签: regex