1

好吧,我已经制作了这个 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);
}

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

4

3 回答 3

2
$(".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);
    }
});
于 2011-12-27T15:24:01.940 回答
0

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

$(".graduate").keyup(function(e){
    if(e.which!=8 && (e.keyCode<48 && e.keyCode>57)){
        //some code here
    }
});
于 2011-12-27T15:20:56.253 回答
0

使用正则表达式: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

\..我们必须使用点来转义点,\因为点意味着匹配任何东西。

,,

于 2011-12-27T15:27:35.530 回答