【问题标题】:PO box validation in javascriptjavascript中的邮政信箱验证
【发布时间】:2015-06-29 20:19:22
【问题描述】:

我正在尝试在 JavaScript 中满足所有条件的情况下验证邮政信箱,但这对我不起作用。它与任何情况都不匹配

下面是我使用的reg表达式

function validatestreetAddress(street){
var streetval=street.value;
var pattern =new RegExp('/^ *((#\d+)|((box|bin)[-. \/\\]?\d+)|(.*p[ \.]? ?(o|0)[-. \/\\]? *-?((box|bin)|b|(#|num)?\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\d+)|(p *-?\/?(o)? *-?box)|post office box|((box|bin)|b) *(number|num|#)? *\d+|(num|number|#) *\d+)/i');


 if (streetval.match(pattern)) { 
                    alert('We are unable to ship to a Post Office Box.\nPlease provide a different shipping address.'); 
}

只有一个 reg exp 适合我,但它不能满足邮政信箱验证的所有条件。

var pattern = new RegExp("\\b[P|p]*(OST|ost)*\\.*\\s*[O|o|0]*(ffice|FFICE)*\\.*\\s*[B|b][O|o|0][X|x]\\b");

任何人都可以建议在 reg ex 中有什么问题。

我想匹配“Box 123”、“Box-122”、“Box122”、“HC73 PO Box 217”、“PO Box125”、“PO Box”、“PO 123”、“PO Box 123”、 “邮政信箱”、“邮政信箱 123”、“邮政信箱 123”、“邮政信箱”、“邮政信箱 123”、“邮政信箱”、“邮政信箱 123”、“邮政信箱”、“邮政信箱 123”、“邮政信箱 123”、“邮政信箱” Office Box 123", "Post Office Box", "box #123", "box 122", "box 123", "number 123", "p box", "po box", post office box – user3495160 3 小时前

不匹配 = [ "The Postal Road", "Box Hill", "123 Some Street", "Controller's Office", "pollo St.", "123 box canyon rd", "777 Post Oak Blvd" ,“PSC 477 框 396”,“RR 1 框 1020”];

【问题讨论】:

  • 给出你想要匹配的例子,以及不应该匹配的例子
  • 我要匹配“Box 123”、“Box-122”、“Box122”、“HC73 PO Box 217”、“PO Box125”、“PO Box”、“PO 123”、“邮政信箱 123"、"邮政信箱"、"邮政信箱 123"、"邮政信箱 123"、"邮政信箱"、"邮政信箱 123"、"邮政信箱"、"邮政信箱 123"、"邮政信箱"、"邮政 123"、"邮政信箱" 123”、“邮政信箱 123”、“邮政信箱”、“123 号信箱”、“122 号信箱”、“123 号信箱”、“123 号”、“p 信箱”、“邮政信箱”、邮政信箱
  • 不匹配 = [ "The Postal Road", "Box Hill", "123 Some Street", "Controller's Office", "pollo St.", "123 box canyon rd", " 777 Post Oak Blvd”、“PSC 477 Box 396”、“RR 1 Box 1020”];

标签: javascript regex validation pattern-matching


【解决方案1】:

您可以使用以下内容:

("(post\s*(office)?)?\s*box\s*[#-]?\s*(\d+)?"|
"[\w\s]*?p(ost)?\s*[.-]?\s*o?\s*\.?\s*b?(ox)?\.?\s*(\d+)?"|
"\s*number\s*\d+")

DEMO

【讨论】:

    猜你喜欢
    • 2011-07-06
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    相关资源
    最近更新 更多