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

时间:2012-01-20 06:03:46

标签: javascript

我在Javascript工作。我正在尝试在keypress事件上创建一个函数。我想在手机号码上进行验证功能。我想只允许数字。我也想在这里允许 ctrl + v ctrl + a ,但我不想让V和A作为字符。

我在这里看到了许多答案,但没有人完全相同。

2 个答案:

答案 0 :(得分:1)

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

它在keyup()上使用,因此它也适用于ctrl+v。如果有人使用右键单击进行粘贴,则无法正常工作,因此您只需禁用右键单击该字段即可。

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

<强> Live Demo

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;
    });
});

答案 1 :(得分:0)

您可以使用使用模式属性的HTML5输入标记。

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