正则表达式验证地址字符串不包含邮政信箱模式
Regex validate address string to not contain PO Box patterns
我在用户提供的地址字段上使用 Laravel regex validation
。
我发现有多个帖子有助于验证地址字符串是否为有效的邮政信箱,例如 here or here,但我需要做相反的事情并确保提供的字符串不是邮政信箱。
PS我不需要进行任何地址验证,只是想确保它不是邮政信箱。
我发现这条规则非常有用,因为它会检查是否存在邮政信箱号码
/^\s*(.*((p|post)[-.\s]*(o|off|office)[-.\s]*(b|box|bin)[-.\s]*)|.*((p|post)[-.\s]*(o|off|office)[-.\s]*)|.*((p|post)[-.\s]*(b|box|bin)[-.\s]*)|(box|bin)[-.\s]*)(#|n|num|number)?\s*\d+/i
谁能帮我为这个或类似的东西创造相反的表达方式?
我怀疑我必须使用负前瞻?!
使用正则表达式解决了问题negative lookahead ?!
/^(?!.*(?:(.*((p|post)[-.\s]*(o|off|office)[-.\s]*(box|bin)[-.\s]*)|.*((p |post)[-.\s]*(box|bin)[-.\s]*)))).*$/i
此规则不要求提供邮政信箱号码。
这些是将通过的示例:
"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",
"Coop services",
"65 Brook Ave Ste 1P",
"pacific city",
"orange county",
"obox",
"pbox",
"party house",
"p shorty",
"something pacif pobo",
"po helpkline box",
"po ferrirs",
"panther boxing",
"box center",
"post office",
"Post",
"porceline"
那些将无法通过验证
"post office box",
"POBOX",
"po box",
"POBox12234",
"p o box",
"P.O.Box",
"HC73 P.O. Box 217",
"P O Box125",
"P. O. Box",
"P.O. Box 123",
"P.O. Box",
"PO Box N",
"PO Box",
"PO-Box",
"POBOX123",
"Po Box",
"Post Box 123",
"Post Office Box 123",
"Post Office Box",
"p box",
"p-o box",
"p-o-box",
"p.o box",
"p.o. box",
"p.o.-box",
"po box 123",
"po box",
"po-box",
"pobox",
"pobox123",
我在用户提供的地址字段上使用 Laravel regex validation
。
我发现有多个帖子有助于验证地址字符串是否为有效的邮政信箱,例如 here or here,但我需要做相反的事情并确保提供的字符串不是邮政信箱。
PS我不需要进行任何地址验证,只是想确保它不是邮政信箱。
我发现这条规则非常有用,因为它会检查是否存在邮政信箱号码
/^\s*(.*((p|post)[-.\s]*(o|off|office)[-.\s]*(b|box|bin)[-.\s]*)|.*((p|post)[-.\s]*(o|off|office)[-.\s]*)|.*((p|post)[-.\s]*(b|box|bin)[-.\s]*)|(box|bin)[-.\s]*)(#|n|num|number)?\s*\d+/i
谁能帮我为这个或类似的东西创造相反的表达方式?
我怀疑我必须使用负前瞻?!
使用正则表达式解决了问题negative lookahead ?!
/^(?!.*(?:(.*((p|post)[-.\s]*(o|off|office)[-.\s]*(box|bin)[-.\s]*)|.*((p |post)[-.\s]*(box|bin)[-.\s]*)))).*$/i
此规则不要求提供邮政信箱号码。
这些是将通过的示例:
"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",
"Coop services",
"65 Brook Ave Ste 1P",
"pacific city",
"orange county",
"obox",
"pbox",
"party house",
"p shorty",
"something pacif pobo",
"po helpkline box",
"po ferrirs",
"panther boxing",
"box center",
"post office",
"Post",
"porceline"
那些将无法通过验证
"post office box",
"POBOX",
"po box",
"POBox12234",
"p o box",
"P.O.Box",
"HC73 P.O. Box 217",
"P O Box125",
"P. O. Box",
"P.O. Box 123",
"P.O. Box",
"PO Box N",
"PO Box",
"PO-Box",
"POBOX123",
"Po Box",
"Post Box 123",
"Post Office Box 123",
"Post Office Box",
"p box",
"p-o box",
"p-o-box",
"p.o box",
"p.o. box",
"p.o.-box",
"po box 123",
"po box",
"po-box",
"pobox",
"pobox123",