如何输入仅数字验证

时间:2018-09-28 06:54:53

标签: javascript php html

我想对我的联系电话输入进行号码验证。我是新来的,所以我不知道如何求助。

我当前的验证仅适用于该字段为空且有效。

不需要格式化,我只希望当我按下“提交”按钮时才接受数字,并且会出现一条消息“仅数字”等。

if(empty(trim($_POST["contact"]))){
        $contact_err = "Please enter a contact number.";
    }  else {
      $contact = trim($_POST["contact"]);
    }

1 个答案:

答案 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文档。