【发布时间】:2013-08-04 05:37:43
【问题描述】:
我正在检查信用卡字段以确保它们每个都包含四位数字。
function creditcard ($creditCard1,$creditCard2,$creditCard3,$creditCard4)
{
$regexp="/^[0-9]{4}$/";
if (preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line 18
{
return TRUE;
}
else
{
echo'<script type="text/javascript">alert("Enter a valid credit card number.")</script>';
return FALSE;
}
}
$creditCard1=$_POST['creditCard1'];
$creditCard2=$_POST['creditCard2'];
$creditCard3=$_POST['creditCard3'];
$creditCard4=$_POST['creditCard4'];
$creditcard=creditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4);
我收到此错误。
Warning: preg_match() expects parameter 4 to be long, string given in C:\xampp\htdocs\SFASC2\aa.php on line 18
我无法弄清楚我做错了什么,谢谢。有很多这样的问题,但没有一个能给我解决方案..而且我一直在用头撞墙,无疑忽略了显而易见的事情。
【问题讨论】:
-
看看reference page of
preg_match,尤其是函数的参数。 -
您正在处理实际的信用卡?这很可怕。您是否了解与信用卡相关的所有安全要求?
-
哦,冷静点。如果你说这是一个任务,那就没有问题了。有很多人实际上尝试处理具有如此丰富经验的真实敏感数据,这就是我问的原因。
标签: php regex preg-match