开发日志:js当文本框输入非中文字符时,提示只能输入中文并将非中文字符清空【兼容IE、FF,适用于当文本框内容改变就立刻触发事件的其他功能性需求】
2013-10-12 16:32
901 查看
项目需要实现一个功能,要求
1文本框只能输入中文
2输入非中文提示,并清空非中文字符
在实现过程中遇到了不少问题
首先,实现了将一个字符串中所有非中文字符清空的功能
刚开始的时候想使用onchange事件,但发现只有当切换焦点的时候才触发事件,即我输入完【中文45ds】,还要移去鼠标的焦点才能触发事件,不符合需求
接着使用onpropertychange事件,虽然可以实现内容改变后就触发事件,但却与FF不兼容
后来改用了onKey事件,然后加一些逻辑判断实现了该功能
JavaScript代码:
HTML代码:
1文本框只能输入中文
2输入非中文提示,并清空非中文字符
在实现过程中遇到了不少问题
首先,实现了将一个字符串中所有非中文字符清空的功能
obj.value=obj.value.replace(/[^\u4E00-\u9FA5]/g,'');//只能输入中文,非中文字符替换为空
刚开始的时候想使用onchange事件,但发现只有当切换焦点的时候才触发事件,即我输入完【中文45ds】,还要移去鼠标的焦点才能触发事件,不符合需求
接着使用onpropertychange事件,虽然可以实现内容改变后就触发事件,但却与FF不兼容
后来改用了onKey事件,然后加一些逻辑判断实现了该功能
JavaScript代码:
<script type="text/javascript"> function inputChinese(obj){ var oldLeng=obj.value.length;//获取原文本内容的长度 obj.value=obj.value.replace(/[^\u4E00-\u9FA5]/g,'');//只能输入中文,非中文字符替换为空 var newLeng=obj.value.length;//获取修改后的文本的长度 if(oldLeng!=newLeng){//如果前后文本的长度不一样,说明输入了非中文字符 alert("只能输入中文"); } } </script>
HTML代码:
<input type="text" onkeyup="inputChinese(this)" onafterpaste="inputChinese(this)" />[只能输入中文,如果输入非中文,则将非中文字符除去,并提示]
相关文章推荐
- js文本框输入点回车触发确定兼容IE、FF等
- js,文本框输入,点回车,触发,确定,兼容IE,FF等
- 如何限制jsp页面的文本框中只能输入数字,输入其他字符后自动清空
- JS控制文本框只能输入数字,兼容FF
- 验证文本框只能输入数字兼容FF,IE
- JS实现的文本框内容发生改变立马触发事件简介
- 终于成功的做到了兼容IE、FF、google的回车键触发事件(js源代码)
- js判断文本框里面输入内用以后是否有回车 (兼容FF和IE)
- 【下拉框可输入+自动提示+支持键盘事件兼容IE,FF】
- [事件处理] js实现的文本框内容发生改变立马触发事件简单介绍
- 只能输入数字的文本框(兼容IE和FF)
- [事件处理] js实现的文本框内容发生改变立马触发事件简单介绍
- Js 实现文本框只能输入数字,不可以输入其他字符
- .net(c#) winform文本框只能输入数字,不能其他非法字符(转)
- js自动过滤替换页面文本框和文本域内容中的特殊字符并进行提示
- JS来推断文本框内容改变事件
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号
- 兼容IE/FF的手动触发事件的函数
- JS控制文本框只能输入N个字符
- 当文本框的值发生改变时,触发事件,在IE中有效