【问题标题】:Zip code based on a array with errors基于错误数组的邮政编码
【发布时间】:2015-04-23 21:29:20
【问题描述】:

我想开发一个邮政编码查找器,邮政编码由 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>

提前致谢

【问题讨论】:

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

标签: php zipcode


【解决方案1】:

试试这个

<?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>

它应该首先检查它是否符合您的正则表达式,如果符合则检查它们是否在您允许的范围内。您的正则表达式与当前允许的地址不匹配,因此这些都将是 This order can not be delivered in that areaIncorrect zip code enter 4 letters and 2 numbers

您也不需要只返回原生 PHP 函数结果的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2015-02-03
    • 2021-11-08
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多