我想对我的联系电话输入进行号码验证。我是新来的,所以我不知道如何求助。
我当前的验证仅适用于该字段为空且有效。
不需要格式化,我只希望当我按下“提交”按钮时才接受数字,并且会出现一条消息“仅数字”等。
if(empty(trim($_POST["contact"]))){
$contact_err = "Please enter a contact number.";
} else {
$contact = trim($_POST["contact"]);
}
答案 0 :(得分:3)
可能值得使用is_numeric()来计算该值是否为数字,例如:
$contact = '';
if (empty($_POST['contact'])) {
$contact_error = 'Please enter a contact number.';
} elseif (!is_numeric($_POST['contact'])) {
$contact_error = 'Please enter a number';
} else {
$contact = trim($_POST['contact']);
}
要稍微清理一下,您可以执行以下操作:
$contact = $_POST['contact'];
if (empty($contact) || !is_numeric($contact)) {
$contactError = 'Please enter a numeric contact number';
} else {
// With how your code us currently organised, this will have to
// live in an else branch, as otherwise a notice will be thrown if
// $_POST['contact'] does not exist
$contact = trim($contact);
}
请注意,is_numeric()
也适用于字符串编号,即'1'
。如果这不是您想要的,那么您可能会想要另一种方法,例如注释中建议的FILTER_VAR
,您可以在here上找到FILTER_VALIDATE_INT
文档。