0

次のjQuery関数を使用して、テキストボックスに10進数のみを受け入れるようにしましたが、問題は受け入れられなかったため.、整数テキストボックスとしてのみ機能し、

プラグインを使いたくない

ここにjQuery関数があります:

$(document).ready(function () {
    $("#textbox1").keydown(function(event)
    {
        if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
        (event.keyCode == 65 && event.ctrlKey === true))
        {
            return;
        }
        else if(event.keyCode == 46)
        {
            return;
        }
        else 
        {
            if ((event.keyCode < 48 || event.keyCode > 57) && 
                (event.keyCode < 96 || event.keyCode > 105 ))
            {
                event.preventDefault(); 
            }   
        }        
    });
});​

フィドルはこちら

4

2 に答える 2

3

そしてどう4.5.2ですか?

あなたのコードはそれをチェックしていません!

why正規表現を使用していませんか?

[0-9]+(\.[0-9][0-9]?)?

一致を確認するだけですblur event

于 2012-04-05T13:37:49.467 に答える
2
$("#textbox1").keydown(function(e){
    var key = e.which;

    // backspace, tab, left arrow, up arrow, right arrow, down arrow, delete, numpad decimal pt, period, enter
    if (key != 8 && key != 9 && key != 37 && key != 38 && key != 39 && key != 40 && key != 46 && key != 110 && key != 190 && key != 13){
        if (key < 48){
            e.preventDefault();
        }
        else if (key > 57 && key < 96){
            e.preventDefault();
        }
        else if (key > 105) {
            e.preventDefault();
        }
    }
});
于 2012-04-05T13:59:14.150 に答える