input标签的汉字长度限制
来源:互联网 发布:java获取今天凌晨时间 编辑:程序博客网 时间:2024/06/05 20:26
关于下面提到的String.prototype.chinesesubstr方法, 请参见http://blog.csdn.net/lgg201/archive/2010/05/28/5629526.aspx
/**
* 给String扩展一个len方法, 用于获取包含非ASCII码字符的常规长度(非ASCII码算2个字符)
*/
String.prototype.len = (function() {
var ascRegexp = /[^/x00-/xFF]/g;
return this.replace(ascRegexp, '..').length;
});
//下面是用jQuery做的对input做长度限制的事件绑定
//在keydown之后, 检测其汉字长度, 在长度超过限定的50个字符之后, 动态修改其maxLength属性.
//input和propertychange事件用于将用户通过复制等方式输入的多余的字符串做截取, 使用了上面的汉字截取
$('#diary_title').bind('keydown', function(event) {
if($(this).val().len() >= 50) $(this).attr('maxLength', $(this).val().length);
}).bind('input', function(event) {
$(this).val($(this).val().chinesesubstr(0, 50));
}).bind('propertychange', function(event) {
$(this).val($(this).val().chinesesubstr(0, 50));
});
最初在项目里面用的是在keydown事件中
event.preventDefault();
但是, 阻止默认事件会导致键盘失效, 也就是用户无法删除多余的东西....
后来keydown事件中, event.preventDefault()之前, 增加了删除等一切功能键,
但是后来发现的一个问题是, 用户在达到最大输入长度后, 如果选中一部分, 然后输入字符,
做替换, 还是不可以......
所以现在通过动态修改maxLength来实现.
这个问题现在对于input解决了, 但textarea上面的maxLength貌似不怎么灵光.....
恳求各位大侠对textarea上面的字符限制指点指点......
- input标签的汉字长度限制
- 限制输入框的长度(汉字解决方案)
- 限制输入框的长度(汉字解决方案)
- 常用限制input标签的方法
- 常用限制input标签的方法
- 限制HTML的input只能输入数字、英文、汉字...
- 限制HTML的input只能输入数字、英文、汉字...
- 限制HTML的input只能输入数字、英文、汉字...
- 限制HTML的input只能输入数字、英文、汉字...
- 限制input 数字和长度
- 简单的js限制html中input标签输入空格
- 关于HTML中input标签的一些常用输入限制
- 标签的一些属性:tip提示,长度限制,字母大小写
- <input type="number" /> 限制长度
- input只能输入数字并限制长度
- html中限制input字符串长度
- input文本框输入长度做限制
- 限制输入框的长度(汉字解决方案) liu2之追忆似水年华
- 单元测试三叉戟—JUNIT,DBUNIT,UNITILS
- c#中分割字符串的几种方法
- 可我还是想你
- VC关于检测内存泄漏方法
- 详解WINCE的控制面板
- input标签的汉字长度限制
- 判断WinCE的版本
- Android事件处理
- Input Event Detect and Dispatch
- FireBug使用说明之Logging
- 将Image对像转换为png格式的byte数组
- 关于好的WBS
- Tslib Manual Calibrate On Android
- Android JNI 使用的数据结构JNINativeMethod详解