常见国内微博字数统计:
新浪:140个汉字,280英文字母
腾讯:140个汉字,280英文字母
网易:163个汉字,163英文字母
人人网:140个汉字,140个英文字母
首先我们并不评论各大网站对字数统计的为什么各不相同。从上述我们可以看到在实际用js统计过程中有两种不同的统计规则。
中英文统一统计非常简单:
text.length //text为获取到的textarea的文本值value
而腾讯和新浪微博使用中英文分别统计的方式则值得商榷,在实际使用过程中可以发现腾讯和新浪微博对于2个非中文字母字符都是以1个中文文字来统计,当然如果是单个字母字符也算1个字来统计。
中英文分别统计:
var
_zh = text ? text.match(/[^ -~]/g) : 0;
var
num = 140-Math.ceil((text.length + (_zh && _zh.length) || 0)/2);
|
当然上述算法也是个人的想法,并没有去比较腾讯和新浪微博是如何计算,但是测试应该获取的值还是一致的,如果有更好的算法请留言告知。