为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

GCT1015 2023-05-25 16:36:03
我正在尝试创建一个只在标准英文键盘 (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);        };                };
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

您的正则表达式很好,但如果您只需要 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;


        };

});


查看完整回答
反对 回复 2023-05-25
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你不需要正则表达式。只需检查“keyCode”是否在可接受的范围内。

大写字母介于 65 (A) 和 90 (Z) 之间。小写字母介于 97 和 122 之间。


查看完整回答
反对 回复 2023-05-25
  • 2 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信