javascript键盘监听事件

发布于 2021-11-23 01:56:32 字数 42 浏览 853 评论 6

js怎样监听input输入框,让用户在使用拼音输入法的状态下无法输入除数字外的任何字

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

情绪失控 2021-11-29 21:53:25

下面的正则写错了,应该是/[D]/g

只为守护你 2021-11-29 21:17:15

回复
谢谢指正。已修正。

感情旳空白 2021-11-29 20:26:45

简单点就是这样的:

<input onkeyup="value=value.replace(/[D]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/D/g,''))" onkeydown="if(event.keyCode==13)event.keyCode=9">

用html与js分离写法就是这样的:

input.addEventListener('keyup',function(event){
        this.value = this.value.replace(/[D]/g,'');
    });

   input.addEventListener('beforepaste',function(event){
        window.clipboardData && window.clipboardData.setData('text',window.clipboardData.getData('text').replace(/D/g,''));
    });
    
    input.addEventListener('keydown',function(event){
        event.keyCode==13 && (event.keyCode=9);
    });

长安忆 2021-11-29 18:19:00

firefox下测试通过。chrome下测试未通过,使用搜狗输入法输入拼音,然后按回车,拼音字符就键入到了input输入框且不会被清除

灵芸 2021-11-29 15:08:42

回复
哦, 后面的replace换为replace(/D/g,'')。你监控下input的onkeydown事件,做个判断enter键的keyCode,如果此时输入的值不为数字就屏蔽掉。

奢华的一滴泪 2021-11-29 01:53:46

onkeyup="value=value.replace(/[a-zA-Z]/g,'')"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文