Javascript:使用粘贴选项验证手机号码

Javascript:使用粘贴选项验证手机号码,javascript,Javascript,我在用Javascript工作。我正在尝试在按键事件上创建一个函数。我想做一个手机号码验证功能。我只允许其中包含数字。我还想在这个例子中允许ctrl+v和ctrl+a,但我不想允许v和a作为字符 我在这里看到了很多答案,但没有一个是完全相同的。如果您只关心数字的输入,就像您的问题所显示的那样,这个Jquery代码将起作用 它在keyup()上使用,因此它也将在ctrl+v上工作。如果有人使用右键单击来粘贴,那么它将不起作用,因此,您可以禁用右键单击该字段 它的工作原理是,如果输入值不是数字,则去

我在用Javascript工作。我正在尝试在
按键
事件上创建一个函数。我想做一个手机号码验证功能。我只允许其中包含数字。我还想在这个例子中允许ctrl+v和ctrl+a,但我不想允许v和a作为字符


我在这里看到了很多答案,但没有一个是完全相同的。

如果您只关心数字的输入,就像您的问题所显示的那样,这个Jquery代码将起作用

它在
keyup()
上使用,因此它也将在
ctrl+v
上工作。如果有人使用右键单击来粘贴,那么它将不起作用,因此,您可以禁用右键单击该字段

它的工作原理是,如果输入值不是数字,则去掉最后一个字符。因此,如果用户输入25秒或25秒,它将被精简为25秒

Jquery

$(document).ready(function(){
    $('#number').keyup(function(){    
        var input = this.value;
        while (isNaN(input))
        {
            input = input.substring(0,input.length-1);
            $('#number').val(input);             
        }
    });
    //disable right click on the field
    $('#number').bind("contextmenu",function(e){
        return false;
    });
});

您可以使用HTML5输入标记,该标记使用模式属性

<form>
    <input name="name" value="" pattern="\d+" required/>
    <input type="submit"/>
</form>


您只想确保只输入数字,还是还要检查特定的模式,例如:
555-555-5555
?我只想输入数字。但我也想制作粘贴功能(ctrl+v),请关注这个ctrl+v功能。我只做了数字功能。请看这个类似问题的答案-你可以使用
$(“#number”).bind('input propertychange',function()…
来捕获所有输入方法。这是一个很好的小技巧。请不要在答案(或相关问题)中使用大写锁定这在任何浏览器中对我都不起作用。你确定你的语法正确吗?@mrtsherman当你将它包含在一个表单中时,它就起作用了(我编辑了我的答案以匹配它)