【发布时间】: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 个数字”跨度>
-
在这种情况下,您只需要重组条件。