如何在jquery+中的输入框(使用正则表达式)中只输入数字;javascript?

如何在jquery+中的输入框(使用正则表达式)中只输入数字;javascript?,javascript,jquery,regex,Javascript,Jquery,Regex,您能告诉我如何创建一个输入字段,用户只能使用正则表达式输入数字。我可以使用ascii值。但我需要使用正则表达式 这是我的密码 $(文档).ready(函数(){ //在文本框中按下键时调用 $(“#数量”)。按键(功能(e){ //如果字母不是数字,则显示错误,不键入任何内容 var blkaccountdv=$('数量').val(); var re=/[^0-9]/g; 如果(重新测试(blkaccountdv)){ console.log(“==”) errorflag=1; }否则{

您能告诉我如何创建一个输入字段,用户只能使用正则表达式输入数字。我可以使用ascii值。但我需要使用正则表达式

这是我的密码

$(文档).ready(函数(){
//在文本框中按下键时调用
$(“#数量”)。按键(功能(e){
//如果字母不是数字,则显示错误,不键入任何内容
var blkaccountdv=$('数量').val();
var re=/[^0-9]/g;
如果(重新测试(blkaccountdv)){
console.log(“==”)
errorflag=1;
}否则{
console.log(“==tt==”)
$(“#errmsg”).html(“仅限数字”).show().fadeOut(“慢”);
返回false;
}
/*如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
//显示错误消息
$(“#errmsg”).html(“仅限数字”).show().fadeOut(“慢”);
返回false;
}*/
});
});
Thnaks

这将起作用:

$(文档).ready(函数(){
//在文本框中按下键时调用
$(“#数量”).keyup(函数(e){
//如果发现字母标志错误,则显示错误,并删除任何非数字
如果($(this).val().match(/[^0-9]/g,')){
$(“#errmsg”).html(“仅限数字”).show().fadeOut(“慢”);
$(this.val($(this.val().replace(/[^0-9]/g');
console.log(“==”)
errorflag=1;
}否则{
console.log(“==tt==”)
}
});
//但用户仍然可以通过右键单击将带有字母的值粘贴到框中
//因此,我们绑定到粘贴事件,如果检测到,则触发元素的keyup事件
$(“#数量”).bind('paste',函数(e){
setTimeout(函数(){$(this).keyup();},30);
});
});
#errmsg{
颜色:红色;
}

编号:

相反,我希望
keydown
上防止出现不需要的keyCode。这样,您就不必进行任何字符串操作,然后替换输入值,这可能看起来很尴尬,我想要一个闪光灯

$( 'input' ).on( 'click', function ( e ) {
    var numberKeys = [ /* the wanted keyCodes */];
    if ( numberKeys.indexOf( e.keyCode ) < 0 ) {
        e.preventDefault();
        // do what ever you'd like here when the user types in a non numeric character.
    }
});
$('input')。打开('click',函数(e){
var numberKeys=[/*所需的键码*/];
if(numberKeys.indexOf(e.keyCode)<0){
e、 预防默认值();
//当用户键入非数字字符时,在此处执行您希望执行的操作。
}
});

如果您指的是我发布的第一个提琴,那么它是用来演示验证如何工作的,并且在输入中没有数字以外的字符时显示true(非常正确)。@bleeted0d我刚刚演示了如何使用regex进行验证,这就是所要求的。程序员必须知道如何绑定不同的事件,如粘贴数据时的
change
,或者其他可能会愚弄测试的事情。让我们来看看。
$('input').keyup(function(e){

    if(!/^[0-9]*$/.test(this.value)){

        this.value = this.value.split(/[^0-9.]/).join('');

    }

});
$( 'input' ).on( 'click', function ( e ) {
    var numberKeys = [ /* the wanted keyCodes */];
    if ( numberKeys.indexOf( e.keyCode ) < 0 ) {
        e.preventDefault();
        // do what ever you'd like here when the user types in a non numeric character.
    }
});