新浪微博字数统计 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 Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 Javascript
解读JavaScript中 For, While与递归的用法
May 07 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
Jan 27 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 Javascript
BootStrap轮播HTML代码(推荐)
Dec 10 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
纯JavaScript实现实时反馈系统时间
Oct 26 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
Js和VUE实现跑马灯效果
May 25 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
Adodb的十个实例(清晰版)
2006/12/31 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
PHP在线书签系统分享
2016/01/04 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
jquery随机展示头像代码
2011/12/21 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python文件读取的3种方法及路径转义
2015/06/21 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
python中的字符串内部换行方法
2018/07/19 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
八荣八耻演讲稿
2014/09/15 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
高质量“欢迎词”
2019/04/03 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js