【发布时间】:2012-03-06 16:05:24
【问题描述】:
我正在尝试匹配包含街道和号码的街道地址。
我需要表达式来匹配街道名称的单词,然后是数字。
例如,我想匹配“somestreet 25”、“some other street 23”、“a-third street 190”,而不是“a_fourth street 67”。
我正在尝试使用它一个小时,但我什至对正则表达式还不够好。
到目前为止,我只有/^[a-zA-Z]+([\s][a-zA-Z]+)([\s][0-9]){1,4}$/,但不用说,它不起作用。
--- 编辑 ---
我知道没有标准的、全球性的街道地址书写方式,而且正则表达式不能真正复杂到涵盖全球范围内的问题,但该网站适用于当地餐馆,而且所有我希望地址看起来像一个地址(即使那样,如果没有地图和电话验证,它仍然可能是假地址)。
然而,在发送任何东西之前都会一直进行人工验证,而且它是一个相当小的社区,所以送货员和餐厅老板都知道订单是否是假的。
我想要的只是防止他们在地址中使用愚蠢的 !@#$ 字符发送垃圾邮件,并为他们提供一个体面的可读地址格式。
【问题讨论】:
-
是什么让
a_fourth street 67不匹配? -
@gms8994 下划线。
-
您没有来自将数字放在首位的国家/地区的街道吗?还是给出建筑物名称但没有编号的区域?还是公寓楼用字母来识别建筑物的一部分? (贝克街 221B 号)?
-
这永远不会在全局环境中工作,并且对于本地环境可能经常失败。
-
在这种情况下它会起作用,因为应用程序过于本地化。远离全球。