Php 基于带有错误的数组的邮政编码

Php 基于带有错误的数组的邮政编码,php,zipcode,Php,Zipcode,我想开发一个邮政编码查找器,邮政编码由4位数字和两个字母组成。如果邮政编码正确,用户将收到我们在该地区交付的确认。如果没有,我们不会在那里传递信息 如果邮政编码不包含正确的标准,则会出现一个错误:输入正确的邮政编码4位数字和2个字母 下面是php的粗略模型: <?php if($_SERVER['REQUEST_METHOD'] == "POST") { $postcode = array(6458,7493,6002,7520); if(in_array($_POST[

我想开发一个邮政编码查找器,邮政编码由4位数字和两个字母组成。如果邮政编码正确,用户将收到我们在该地区交付的确认。如果没有,我们不会在那里传递信息

如果邮政编码不包含正确的标准,则会出现一个错误:输入正确的邮政编码4位数字和2个字母

下面是php的粗略模型:

<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
    $postcode = array(6458,7493,6002,7520); 
    if(in_array($_POST['postcode'],$postcode))
    {
            echo 'We deliver on that district';
    }
    else
    {
        echo  'This order can not be delivered in that area';
    }
}


function IsPostcode($value) {
return preg_match('/^[1-9][0-9]{3} ?[a-zA-Z]{2}$/', $value);
}

if(IsPostcode($_POST['postcode'])) {
    echo 'Correct Zip code';
}
else {
    echo 'Incorrect zip code enter 4 letters and 2 numbers';
}

?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="postcode" />
<input type="submit" value="verstuur" />
</form>

试试这个

<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
    $postcode = array(6458,7493,6002,7520);
    if(preg_match('/^[1-9][0-9]{3} ?[a-zA-Z]{2}$/', $_POST['postcode'])) {
        if(in_array($_POST['postcode'],$postcode)) {
            echo 'We deliver on that district';
        } else {
            echo  'This order can not be delivered in that area';
        }
    } else {
        echo 'Incorrect zip code enter 4 letters and 2 numbers';
    }
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
    <input type="text" name="postcode" />
    <input type="submit" value="verstuur" />
</form>


它是否总是采用数字、数字、数字、字母、字母的格式?问题是,当用户没有用数字、数字、数字、数字、字母、字母填写邮政编码时,如何显示错误消息?如果用户没有填写正确的标准(4位2个字母),我想显示一条错误消息。但是你已经在这样做了,正则表达式看起来很好,你有逻辑检查邮政编码是否正确,然后输出消息,你必须更具体一点,例如;当我只填写3位数字时;错误消息显示:“此订单无法在该区域交付。不正确的邮政编码输入4个字母和2个数字”我只想显示第二条错误消息:“不正确的邮政编码输入4个字母和2个数字”在这种情况下,您只需重新构造条件。