新浪微博字数统计 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 相关文章推荐
Prototype Object对象 学习
Jul 12 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
jquery表单插件Autotab使用方法详解
Jun 24 Javascript
JavaScript关于提高网站性能的几点建议(一)
Jul 24 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
基于JavaScript实现表格滚动分页
Nov 22 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
electron demo项目npm install安装失败的解决方法
Feb 06 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
Jun 10 Javascript
JS数据类型分类及常用判断方法
Nov 19 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中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
node网页分段渲染详解
2016/09/05 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python进行数据科学工作的简单入门教程
2015/04/01 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
python3字符串输出常见面试题总结
2020/12/01 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
致短跑运动员广播稿
2014/01/09 职场文书
网络编辑岗位职责
2014/03/18 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
python高温预警数据获取实例
2022/07/23 Python