1

私はこのコードを持っています

function verifyKey(e)
{
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    regex=/[1-9]/;
    if(regex.test(keycode))
        return true;
    else
        void(0);
}

HTMLに入力を追加し、onkeydownイベントを追加しますonkeydown = "verifyKey(event);"

テキストに表示される前にキーを確認するのが好きです

キーが数字またはコマ(、)またはピリオド(。)の場合は、キーを受け入れます。それ以外の場合は拒否します。

ありがとう

4

1 に答える 1

7

ここでのコードでは、キーコードで定義された正規表現をテストしています。すべてのキーのキーコードは数字であるため、キーボードでのすべての不正行為が許可され、期待どおりの結果が得られません。正規表現を使用する代わりに、以下のコードを試してください

<html>
<head>
<script type="text/javascript">
function verifyKey(e)
{
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;


    if((keycode>=48 && keycode<=57))
    {alert("if")
        return true;
    }
    else if((keycode == 188)||(keycode == 190))
    {alert("elseif");
        return true;
    }
    else
    {alert("else")
        return false;
    }
}


</script>
</head>
<body>
<input type="text" onkeypress="return verifyKey(event)" />
</body>
</html>
于 2011-09-26T12:54:06.677 に答える