簡體   English   中英

javascript中的郵政信箱驗證

[英]PO box validation in javascript

我正在嘗試使用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適用於我,但它不滿足PO盒驗證的所有條件。

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

任何人都可以建議注冊前有什么問題。

我想匹配“Box 123”,“Box-122”,“Box122”,“HC73 PO Box 217”,“PO Box125”,“郵政信箱”,“PO 123”,“郵政信箱123”,“郵政信箱” “,”POB 123“,”POB 123“,”POB“,”POB 123“,”POB“,”POBOX123“,”Po Box“,”Post 123“,”Post Box 123“,”郵政信箱123“ “,”郵政信箱“,”方框#123“,”方框122“,”方框123“,”數字123“,”p框“,”郵箱“,郵局信箱 - 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 Box 396“,”RR 1 Box 1020“];

您可以使用以下內容:

("(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

除了您在問題中列出的內容之外,還有更多方法可以拼出郵政信箱地址。 確定地址是否為郵政信箱的最佳方法是通過地址驗證/標准化工具運行。 (我工作的公司制作了一個名為YAddress的公司 。)如果您的地址的經過驗證和標准化的形式完全拼寫為“PO BOX”,無論原始地址的拼寫是什么,您都可以得到答案。 地址驗證工具會考慮數千種可能的拼寫錯誤,拼寫錯誤,常見縮寫,替代格式等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM