————-2009 年 11 月 19 日 22:03:06——————–
本来也写过类似这个小功能《js对输入框的字数限制》,但是今天有朋友说要个简单的貌似twitter微博输入的功能!所以写了一个。
基本的思路:当文本域获取焦点后,当键盘松开时,判断里面的字符是否为空,从而改变按钮的显示状态和文字的个数。
=============2009年11月24日更新============
感谢各位的留言和测试,特别感谢Chaos提供的解决方案,灰灰关于粘贴的测试!
在以上两位的建议和测试下重新修改了一下源代码,主要文本框获得焦点时启动定时器,计算文本框的字数。
=============2010年12月30日更新============
今天接到一个类似的需求,就是想腾讯微博和新浪微博那样,将中文视为一个字符,将英文视为半个字符,也就是两个英文字符按一个字符计算。所以我再原来的基础上做了调整,主要的思路是:
将一个中文字符转换成两个字符计算,一个英文字符按一个英文字符计算,具体代码:
var newvalue = obj.value.replace(/[^\x00-\xff]/g, “**”);
然后在显示已经输入字符数中除以2,记住向上去整(parseInt方法),不然就出现0.5个字符了。