onkeyup 对某些字符不执行任何操作

发布于 2024-12-23 06:48:51 字数 839 浏览 1 评论 0原文

好吧,我已经制作了这个 jquery 代码,

$(document).ready(function(){
    $(".graduate").keyup(function(e){
        if(e.keyCode!=8 && (e.keyCode<48 && e.keyCode>57)){
        //some code here
        };
    });
});

我希望输入忽略写入除整数之外的任何内容。

我发现了这个:但我不知道如何将其转换为 jquery 代码。 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeypress

function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
    {
    keynum = e.keyCode;
    }
else if(e.which) // Netscape/Firefox/Opera
    {
    keynum = e.which;
    }
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}

上面的代码不允许我使用退格键.. 有什么帮助吗?

Well i have made this jquery code

$(document).ready(function(){
    $(".graduate").keyup(function(e){
        if(e.keyCode!=8 && (e.keyCode<48 && e.keyCode>57)){
        //some code here
        };
    });
});

I want input ignore write anything except integer numbers..

I found this: but i don't know how to convert it into jquery code..
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeypress

function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
    {
    keynum = e.keyCode;
    }
else if(e.which) // Netscape/Firefox/Opera
    {
    keynum = e.which;
    }
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}

The above code doesn't allow me to use backspace..
Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

人疚 2024-12-30 06:48:51
$(".graduate")    
.bind('keydown', function(e) {
    var
    editingKeys = {
        '8'   : 'delete',
        '9'   : 'tab',
        '46'  : 'canc',
        '37'  : 'leftarrow',
        '39'  : 'rightarrow',
    },

    key = e.which || e.keycode,
    keynum = (key > 47) && (key < 58),
    keypad = (key > 95) && (key < 106);

    if (!keynum && !keypad) {
        return (key in editingKeys);
    }
});
$(".graduate")    
.bind('keydown', function(e) {
    var
    editingKeys = {
        '8'   : 'delete',
        '9'   : 'tab',
        '46'  : 'canc',
        '37'  : 'leftarrow',
        '39'  : 'rightarrow',
    },

    key = e.which || e.keycode,
    keynum = (key > 47) && (key < 58),
    keypad = (key > 95) && (key < 106);

    if (!keynum && !keypad) {
        return (key in editingKeys);
    }
});
猫卆 2024-12-30 06:48:51

jQuery 将“始终”为您提供 e.which 中的键码。您可以在 keyup 处理程序内的 if 语句中安全地使用 e.which != 8 。 IE。

$(".graduate").keyup(function(e){
    if(e.which!=8 && (e.keyCode<48 && e.keyCode>57)){
        //some code here
    }
});

jQuery will "always" give you the keycode in e.which. You can safely use e.which != 8 in your if statement inside the keyup handler. i.e..

$(".graduate").keyup(function(e){
    if(e.which!=8 && (e.keyCode<48 && e.keyCode>57)){
        //some code here
    }
});
ヤ经典坏疍 2024-12-30 06:48:51

使用正则表达式: http://jsfiddle.net/DSvkS/

$(document).ready(function(){
    $(".graduate").bind('keyup', function(event) {
        this.value = this.value.replace(/\D/g, "");
    });
});

\D 表示任何内容但0-9。

或支持 ., http://jsfiddle.net /DSvkS/4/

$(document).ready(function(){
    $(".graduate").bind('keyup', function(event) {
        this.value = this.value.replace(/[^0-9\.,]/g, "");
    });
});

[^...] 表示除 ... 以外的任何内容:

0-90,1,2,3,4,5,6,7,8,9

\.. 我们必须转义点使用 \ 作为点表示匹配任何内容。

,,

Use regexp: http://jsfiddle.net/DSvkS/

$(document).ready(function(){
    $(".graduate").bind('keyup', function(event) {
        this.value = this.value.replace(/\D/g, "");
    });
});

\Dmeans anything but 0-9.

or support . and , http://jsfiddle.net/DSvkS/4/

$(document).ready(function(){
    $(".graduate").bind('keyup', function(event) {
        this.value = this.value.replace(/[^0-9\.,]/g, "");
    });
});

[^...] means anything but ...:

0-9 is 0,1,2,3,4,5,6,7,8,9

\. is . We have to escape the dot using \ as the dot means match anything.

, is ,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文