新浪微博字数统计 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 相关文章推荐
js 目录列举函数
Nov 06 Javascript
javascript 冒泡排序 正序和倒序实现代码
Dec 14 Javascript
基于jquery的多功能软键盘插件
Jul 25 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
浅谈js中的闭包
Mar 16 Javascript
jQuery实现的进度条效果
Jul 15 Javascript
微信开发 js实现tabs选项卡效果
Oct 28 Javascript
vue.js绑定class和style样式(6)
Dec 09 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
React实现动效弹窗组件
Jun 21 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
一个MYSQL操作类
2006/11/16 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
php中stdClass的用法分析
2015/02/27 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
利用javascript中的call实现继承
2007/01/22 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
Python爬虫开发与项目实战
2020/12/16 Python
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
教师节简报
2015/07/20 职场文书
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS