js怎样监听input输入框,让用户在使用拼音输入法的状态下无法输入除数字外的任何字
下面的正则写错了,应该是/[D]/g
回复谢谢指正。已修正。
简单点就是这样的:
<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); });
firefox下测试通过。chrome下测试未通过,使用搜狗输入法输入拼音,然后按回车,拼音字符就键入到了input输入框且不会被清除
回复哦, 后面的replace换为replace(/D/g,'')。你监控下input的onkeydown事件,做个判断enter键的keyCode,如果此时输入的值不为数字就屏蔽掉。
onkeyup="value=value.replace(/[a-zA-Z]/g,'')"
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(6)
下面的正则写错了,应该是/[D]/g
回复
谢谢指正。已修正。
简单点就是这样的:
用html与js分离写法就是这样的:
firefox下测试通过。chrome下测试未通过,使用搜狗输入法输入拼音,然后按回车,拼音字符就键入到了input输入框且不会被清除
回复
哦, 后面的replace换为replace(/D/g,'')。你监控下input的onkeydown事件,做个判断enter键的keyCode,如果此时输入的值不为数字就屏蔽掉。
onkeyup="value=value.replace(/[a-zA-Z]/g,'')"