8

我想使用JavaScript验证单元格号码。

这是我的代码。

if(number.value == "") {
    window.alert("Error: Cell number must not be null.");
    number.focus();
    return false;
}

if(number.length != 10) {
    window.alert("Phone number must be 10 digits.");
    number.focus();
    return false;
}

这是问题,当我提交表单而不输入电话号码时,它显示错误手机号码不能为空。它工作正常。

当我提交手机号码少于 10 位的表格时,它显示电话号码必须是 10 位。这也很好。

问题是当我提交 10 位数字的表单时,它还显示错误电话号码必须是 10 位数字。

请帮我。谢谢你。

并且还需要仅用于单元格号码的数字的验证码。

4

9 回答 9

24

如果number是您的表单元素,那么它的长度将是undefined因为元素没有长度。你要

if (number.value.length != 10) { ... }

但是,一次完成所有验证的更简单方法是使用正则表达式:

var val = number.value
if (/^\d{10}$/.test(val)) {
    // value is ok, use it
} else {
    alert("Invalid number; must be ten digits")
    number.focus()
    return false
}

\d意思是“数字”,{10}意思是“十次”。^并将其$锚定到开始和结束,所以类似的东西asdf1234567890asdf不匹配。

于 2013-09-23T02:01:33.850 回答
6
function IsMobileNumber(txtMobId) {
    var mob = /^[1-9]{1}[0-9]{9}$/;
    var txtMobile = document.getElementById(txtMobId);
    if (mob.test(txtMobile.value) == false) {
        alert("Please enter valid mobile number.");
        txtMobile.focus();
        return false;
    }
    return true;
}

来电验证手机号码功能HTML代码-

于 2015-04-14T08:08:17.263 回答
3

function isNumber(evt) {
  evt = (evt) ? evt : window.event;
  var charCode = (evt.which) ? evt.which : evt.keyCode;
  if (charCode > 31 && (charCode < 48 || charCode > 57)) {
    alert("Please enter only Numbers.");
    return false;
  }

  return true;
}

function ValidateNo() {
  var phoneNo = document.getElementById('txtPhoneNo');

  if (phoneNo.value == "" || phoneNo.value == null) {
    alert("Please enter your Mobile No.");
    return false;
  }
  if (phoneNo.value.length < 10 || phoneNo.value.length > 10) {
    alert("Mobile No. is not valid, Please Enter 10 Digit Mobile No.");
    return false;
  }

  alert("Success ");
  return true;
}
<input id="txtPhoneNo" type="text" onkeypress="return isNumber(event)" />
<input type="button" value="Submit" onclick="ValidateNo();">

于 2015-04-22T09:22:38.570 回答
1

如果您键入:

if { number.value.length!= 10}...     

它肯定会起作用,因为值是从对象驱动的数量。

于 2017-06-14T06:35:19.343 回答
1

此功能检查chars按键的特殊情况,如果不是,则消除该值number

function mobilevalid(id) {

    var feild = document.getElementById(id);

    if (isNaN(feild.value) == false) {
        if (feild.value.length == 1) {
            if (feild.value < 7) {
                feild.value = "";
            }
        } else if (feild.value.length > 10) {
            feild.value = feild.value.substr(0, feild.value.length - 1);
        }
        if (feild.value.charAt(0) < 7) {
            feild.value = "";
        }
    } else {
        feild.value = "";
    }

}
于 2017-04-19T08:59:15.143 回答
0

我使用了以下代码。

var mobileNumber=parseInt(no)
  if(!mobileNumber || mobileNumber.toString().length!=10){
  Alert("Please provide 10 Digit numeric value")
}

如果手机号码不是号码,它会赋予NaN价值。

于 2020-01-27T11:24:33.527 回答
0
<script type="text/javascript">
    function MobileNoValidation()
    {
       var phno=/^\d{10}$/
       if(textMobileNo.value=="")
       {
        alert("Mobile No Should Not Be Empty");
       }
       else if(!textMobileNo.value.match(phno))
       {
        alert("Mobile no must be ten digit");
       }
       else
       {
        alert("valid Mobile No");
       }
    }
</script>
于 2019-02-24T10:02:28.453 回答
0

验证此代码:它适用于 ms crm 2016 表单中电话号码字段的更改。

function validatePhoneNumber() {

    var mob = Xrm.Page.getAttribute("gen_phone").getValue();
    var length = mob.length;
    if (length < 10 || length > 10) {
        alert("Please Enter 10 Digit Number:");
        Xrm.Page.getAttribute("gen_phone").setValue(null);
        return true;
    }
    if (mob > 31 && (mob < 48 || mob > 57)) {} else {
        alert("Please Enter 10 Digit Number:");
        Xrm.Page.getAttribute("gen_phone").setValue(null);
        return true;
    }
}
于 2016-05-30T12:55:44.317 回答
0
<script>
    function validate() {
        var phone=document.getElementById("phone").value;
        if(isNaN(phone))
        {
            alert("please enter digits only");
        }

        else if(phone.length!=10)
        {
            alert("invalid mobile number");
        }
        else
        {
            confirm("hello your mobile number is" +" "+phone);
        }
</script>
于 2020-02-04T15:42:20.997 回答