所以我试图用xxx-xxx-xxxx格式验证电话号码,其中x是一个数字。 我遇到的问题是我可以为最后一组数字输入4位以上的数字。有谁看到我做错了什么?感谢。
$telNumPattern = '/[0-9]{3}-[0-9]{3}-[0-9]{4}/'; //regular expression to match xxx-xxx-xxxx
if(empty($_POST['telNum'])) {
$errors['telNum'] = "*Your telephone number can't be empty";
}
else if(!preg_match($telNumPattern, $_POST['telNum'])) {
$errors['telNum'] = "*Your email must be in the form xxx-xxx-xxxx";
}
答案 0 :(得分:4)
$telNumPattern = '/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/';
使用锚点进行精确匹配。
答案 1 :(得分:2)
尝试使用它:
$telNumPattern = '/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/'; //regular expression to match xxx-xxx-xxxx
if(empty($_POST['telNum'])) {
$errors['telNum'] = "*Your telephone number can't be empty";
}
else if(!preg_match($telNumPattern, $_POST['telNum'])) {
$errors['telNum'] = "*Your email must be in the form xxx-xxx-xxxx";
}