JavaScript利用正则表达式来禁止键盘输入数字

今日在看JavaScript的时候,发现键盘响应时间onkeydown和一些其他的相关事件都停用了keyCode这个属性,而keyCode这个属性返回的是键盘按键的ASCII码值,停用后有个code属性替代,但也不完全替代,因为code属性返回的是键值本身的值,所以写法也不一样,下面用正则表达式来禁止输入框输入数字,直接上代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1609</title>
    <script>
        window.onload = function(){
            var inp = document.getElementsByTagName("input")[0];
            inp.onkeydown = function(e){
                if(/\d/.test(e.code)){

                    return false;
                }
                console.log(e.code);
            };
        };
    </script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>

JavaScript中正则表达式的test()方法返回一个bool值,就是文本是否匹配表达式

而使用keyCode写法如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1609</title>
    <script>
        window.onload = function(){
            var inp = document.getElementsByTagName("input")[0];
            inp.onkeydown = function(e){
                if(e.keyCode >= 48 && e.keyCode <= 57)){

                    return false;
                }
                console.log(e.code);
            };
        };
    </script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>
Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐