验证英国短(向外)邮政编码
我正在使用此验证器:
//validate postcode
function IsPostcode($postcode)
{
$postcode = strtoupper(str_replace(' ','',$postcode));
if(preg_match("/^[A-Z]{1,2}[0-9]{2,3}[A-Z]{2}$/",$postcode) || preg_match("/^[A-Z]{1,2}[0-9]{1}[A-Z]{1}[0-9]{1}[A-Z]{2}$/",$postcode) || preg_match("/^GIR0[A-Z]{2}$/",$postcode))
{
return true;
}
else
{
return false;
}
}
From this link.
但我希望能够验证像ME20和TN10这样的邮政编码,而不是全面的ME20 4RN,TN0 4RN。这是邮政编码的一部分,称为"外发代码"。
有人能帮我解决正则表达式吗?
解决方案
您可以使用我更新的正则表达式来解决您的问题
从我这一端开始验证英国邮政编码
<?php
function IsPostcode($postcode)
{
$postcode = strtoupper(str_replace(' ','',$postcode));
if(preg_match("/(^[A-Z]{1,2}[0-9R][0-9A-Z]?[s]?[0-9][ABD-HJLNP-UW-Z]{2}$)/i",$postcode) || preg_match("/(^[A-Z]{1,2}[0-9R][0-9A-Z]$)/i",$postcode))
{
return true;
}
else
{
return false;
}
}
echo $result = IsPostcode('ME20');
?>
输出
%1
希望这一定会对您有所帮助。
相关文章