仅键盘字母表的正则表达式

我正在尝试创建一个只在标准英文键盘 (az) 上注册字母表的正则表达式。但是,我目前拥有的正则表达式还注册了以字母开头的键......因此 ctrl、alt、shift、caps lock 等被识别为按下的有效键。我想尽我所能排除这些特殊键。


这是我到目前为止所拥有的...


向下注册键:


componentDidMount() {


      document.addEventListener("keydown", this.handleKeyDown);


};

验证键是否为字母:


handleKeyDown = (event) => {

        const regex = /^[A-Za-z]+$/


        // validate key press is alphabetic

        if( regex.test(event.key) ) {

        

            console.log(event.key);


         } else {


            console.log(event.key);


        };

            

    };


GCT1015
浏览 118回答 2
2回答

鸿蒙传说

您的正则表达式很好,但如果您只需要 1 个字符,请删除 + 号。运行示例: https: //jsfiddle.net/uxa0zkor/var msg = document.getElementById('state-msg');document.body.addEventListener('keydown', function(e) {    const regex = /^[A-Za-z]$/        // validate key press is alphabetic        if( regex.test(e.key) ) {                    //console.log(event.key);            msg.textContent = "a-z or A-z  " + e.keyCode;         } else {            //console.log(event.key);            msg.textContent = "other than a-z or A-z " + e.keyCode;        };});

汪汪一只猫

你不需要正则表达式。只需检查“keyCode”是否在可接受的范围内。大写字母介于 65 (A) 和 90 (Z) 之间。小写字母介于 97 和 122 之间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript