在javascript中验证手机号码

在javascript中验证手机号码,javascript,html,Javascript,Html,我想使用javascript验证我的手机号码,我的代码是: function checkLength(){ var textbox = document.getElementById("textbox"); if(textbox.value.length == 10){ alert("success"); } else{ alert("mobile number must be 10 digits long"); t

我想使用javascript验证我的手机号码,我的代码是:

function checkLength(){
    var textbox = document.getElementById("textbox");
    if(textbox.value.length == 10){
        alert("success");
    }
    else{
        alert("mobile number must be 10 digits long");
        textbox.focus();
        return false;
    }
}
调用函数为: 联系电话号码。


所有操作都正常,但在显示警报消息后,它应该返回到同一页,但它会将我带到其他空白页。

1您的表单需要阻止默认提交操作,以便在发现错误时表单不会实际提交。。您应该在表单中钩住onsubmit事件

假设页面中包含jquery1.7+的示例

html

例如:

从按钮中删除onClick事件并将onSubmit添加到。
类似于在别处指出的,监听器应该位于表单的提交处理程序上,因为表单可以在不按提交按钮的情况下提交。此外,您还可以引用表单控件作为表单的命名属性,这比使用getElementById更有效,并且意味着该控件不需要ID

因此,从侦听器传递对表单的引用,例如

形式如下:

<form onsubmit="return checkLength(this)" ... >
  <input type="text" name="Contact-No." required >Contact(Mobile No.)
函数应该返回falseremove onClick event from button并将onSubmit添加到,例如成功时不需要返回true,false以外的任何内容都可以,因此默认的未定义就足够了。OP没有用jQuery标记这个问题,也没有指明它的用途,所以您的答案至少应该使用纯javascript。
$("#myform").on("submit",function(e){
    if(checkLength()==false){
        alert('prevent form submit');
        e.preventDefault();
    }else{
        alert('form submits as normal');
    }
});

function checkLength(){
    var textbox = document.getElementById("textbox");
    if(textbox.value.length == 10){
        alert("success");
        return true;
    }
    else{
        alert("mobile number must be 10 digits long");
        textbox.focus();
        return false;
    }
}
<form onsubmit="return checkLength(this)" ... >
  <input type="text" name="Contact-No." required >Contact(Mobile No.)
function checkLength(form) {
    var textbox = form['Contact-No'];

    if (textbox.value.length == 10) {
        alert("success");

    } else {
        alert("mobile number must be 10 digits long");
        textbox.focus();
        return false;
    }
}