首页 > 解决方案 > 电话号码长度验证 JavaScript

问题描述

我试图验证我的电话号码。除了验证 10 位数字部分外,一切正常

if ($(".phone").val() == "") {
    phoneerror = "Please enter phone number";
} else if (!($.isNumeric($(".phone").val())) && $(".phone").val() != "") {
    phoneerror = "this field cannot contain letters";
} else if ($(".phone").val().length !== 10) {
    phoneerror = "Must be 10 Digits";
} else {
    phoneerror = "";
}

console.log(phoneerror);
<script
    src="https://code.jquery.com/jquery-3.3.1.min.js"
    integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
    crossorigin="anonymous"></script>
<input type="text" class="phone" value="12345">

有人可以告诉我我的代码有什么问题吗

标签: javascriptvalidation

解决方案


请检查这个样本。您应该在其他验证之前定位数字长度,您也可以使用 maxlength html 属性。

function validatePhone(){
if($(".phone").val() == ""){
      phoneerror = "Please enter phone number";
          } else if ($(".phone").val().length !== 10){
        phoneerror = "Must be 10 Digits";
        } else if(!($.isNumeric($(".phone").val())) && $(".phone").val() != ""){
            phoneerror = "this field cannot contain letters";

        }else {
            phoneerror = "";
        }
        console.log(phoneerror);
        return phoneerror;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="phone" type="text" onkeyup="validatePhone(this);" maxlength="10"/>


推荐阅读