新浪微博字数统计 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 相关文章推荐
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
Nov 26 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
Feb 17 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
在angular 6中使用 less 的实例代码
May 13 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
Feb 02 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
May 17 Javascript
判断“命令按钮”是否被鼠标单击详解
Jul 31 Javascript
Vue中computed及watch区别实例解析
Aug 01 Javascript
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
PHP语法速查表
2006/12/06 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
python逐行读写txt文件的实例讲解
2018/04/03 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python 列表的清空方式
2020/01/13 Python
python str字符串转uuid实例
2020/03/03 Python
Keras 使用 Lambda层详解
2020/06/10 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
2014年学习雷锋活动总结
2014/03/01 职场文书
2014年元旦感言
2014/03/06 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
浅谈JS的原型和原型链
2021/06/04 Javascript
德劲DE1105机评
2022/04/05 无线电