新浪微博字数统计 textarea字数统计实现代码


Posted in Javascript onAugust 28, 2011
/* 
* 从新浪微博上抄的 
* */ 
var getLength = (function(){ 
var trim = function(h) { 
try { 
return h.replace(/^\s+|\s+$/g, "") 
} catch(j) { 
return h 
} 
} 
var byteLength = function(b) { 
if (typeof b == "undefined") { 
return 0 
} 
var a = b.match(/[^\x00-\x80]/g); 
return (b.length + (!a ? 0 : a.length)) 
}; return function(q, g) { 
g = g || {}; 
g.max = g.max || 140; 
g.min = g.min || 41; 
g.surl = g.surl || 20; 
var p = trim(q).length; 
if (p > 0) { 
var j = g.min, 
s = g.max, 
b = g.surl, 
n = q; 
var r = q.match(/(http|https):\/\/[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+([-A-Z0-9a-z\$\.\+\!\_\*\(\)\/\,\:;@&=\?~#%]*)*/gi) || []; 
var h = 0; 
for (var m = 0, 
p = r.length; m < p; m++) { 
var o = byteLength(r[m]); 
if (/^(http:\/\/t.cn)/.test(r[m])) { 
continue 
} else { 
if (/^(http:\/\/)+(weibo.com|weibo.cn)/.test(r[m])) { 
h += o <= j ? o: (o <= s ? b: (o - s + b)) 
} else { 
h += o <= s ? b: (o - s + b) 
} 
} 
n = n.replace(r[m], "") 
} 
return Math.ceil((h + byteLength(n)) / 2) 
} else { 
return 0 
} 
} 
})();
Javascript 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
javascript图片预加载完整实例
Dec 10 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
Jun 28 Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
JS浮点数运算结果不精确的Bug解决
Aug 01 Javascript
微信小程序实现pdf、word等格式文件上传的方法
Sep 10 Javascript
原型和原型链 prototype和proto的区别详情
Nov 02 Javascript
Javascript面向对象编程(三) 非构造函数的继承
Aug 28 #Javascript
Javascript面向对象编程(二) 构造函数的继承
Aug 28 #Javascript
Javascript 面向对象编程(一) 封装
Aug 28 #Javascript
Javascript继承机制的设计思想分享
Aug 28 #Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 #Javascript
JS面向对象编程浅析
Aug 28 #Javascript
用JS实现一个TreeMenu效果分享
Aug 28 #Javascript
You might like
PHP SQLite类
2009/05/07 PHP
PHP 引用文件技巧
2010/03/02 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
详谈python read readline readlines的区别
2017/09/22 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
大整数数相乘的问题
2012/07/22 面试题
生物科学系大学生的自我评价
2013/12/20 职场文书
大学毕业感言
2014/01/10 职场文书
抵押贷款承诺书
2014/05/30 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
张思德观后感
2015/06/09 职场文书
离职告别感言
2015/08/04 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python