php 提取英国邮政编码并验证它
我有一些文本块,比如
John+and+Co-Accountants-Hove-BN31GE-2959519
我需要一个函数来提取邮政编码“BN31GE”。它可能不存在并且有一个没有邮政编码的文本块,因此该函数还必须验证提取的文本是否是有效的邮政编码。
John+and+Co-Accountants-Hove-2959519
I have some text blocks like
John+and+Co-Accountants-Hove-BN31GE-2959519
I need a function to extract the postcode "BN31GE". It may happen to not exist and have a text block without postcode so the function must also validate if the extracted text is valid postcode .
John+and+Co-Accountants-Hove-2959519
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
英国政府邮政编码的数据标准是:
编辑:我在一些(个人)代码中引用了上述内容,并引用了现在不存在的英国政府网页。适当的英国标准是 BS7666,目前提供有关此的信息 这里。这列出了一个略有不同的正则表达式。
The UK Government Data Standard for postcodes is:
Edit: I had the above in some (personal) code with a reference to a now non-existence UK government web page. The appropriate British Standard is BS7666 and information on this is currently available here. That lists a slightly different regex.
查找以下代码以提取有效的英国邮政编码。如果发现邮政编码为空,则返回数组。
Find below code to extract valid UK postal code. It return array if post code found otherwise empty.
使用正则表达式: preg_grep 函数,
我不知道英语邮政编码的格式,但你可以使用类似的内容:
This matches
然后你可以继续采用第二个值,或者你可以增强你的正则表达式以完全匹配英语邮政编码,比如也许
Use a regex: preg_grep function,
I don't know the format of english postcodes but you could go with something like:
This matches
You can then proceed at taking always the second value or you can enhance you regex to match exactly english postcodes, something like maybe