Rad
Rad

Reputation: 4921

Handle key using javascript onkeydown

I have this code

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);
}

in the html I added an input and I add the onkeydown event onkeydown="verifyKey(event);"

I like to verify the key before it display on the text

If the key is a number or coma(,) or full stop(.) then accept the key else refuse it

Thanks

Upvotes: 1

Views: 21985

Answers (1)

AmGates
AmGates

Reputation: 2123

Here in your code you are testing the regular expression defined with the keycode, so every chearactes on the keyboard will be allowed since the keycode of every key is numbers, so you will not get the result what you expect. Instead of using the regular expression try the below code

<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>

Upvotes: 7

Related Questions