计算新浪Weibo消息长度(还可以输入119字)

 更新时间:2013年07月02日 17:02:01   投稿:whsnow  
此文为计算新浪Weibo的消息长度的方法. 就是在发言的时候还可以输入多少字,具体的实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助

此文为计算新浪Weibo的消息长度的方法. 就是 (发言请遵守社区公约,还可以输入119字).

复制代码 代码如下:

var getMessageLength = (function() {
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(message) {
message = message || '';
message = message.replace(/\r\n/g, "\n");
var c = 41,
d = 140,
e = 20,
f = message,
g = message.match(/http:\/\/[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+([-A-Z0-9a-z_\$\.\+\!\*\(\)\/,:;@&=\?\~\#\%]*)*/gi) || [],
h = 0;

for(var i = 0, j = g.length; i < j; i++) {
var k = byteLength(g[i]);
if(/^(http:\/\/t.cn)/.test(g[i])) {
continue;
}
/^(http:\/\/)+(t.sina.com.cn|t.sina.cn)/.test(g[i]) || /^(http:\/\/)+(weibo.com|weibo.cn)/.test(g[i]) ? h += k <= c ? k : k <= d ? e : k - d + e : h += k <= d ? e : k - d + e;
f = f.replace(g[i], "");
}
var l = Math.ceil((h + byteLength(f)) / 2);
return l;
};
})();

相关文章

  • javascript ASCII和Hex互转的实现方法

    javascript ASCII和Hex互转的实现方法

    下面小编就为大家带来一篇javascript ASCII和Hex互转的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • JavaScript变量基本使用方法实例分析

    JavaScript变量基本使用方法实例分析

    这篇文章主要介绍了JavaScript变量基本使用方法,结合实例形式分析了JavaScript变量的类型、使用注意事项及命名规范,需要的朋友可以参考下
    2019-11-11
  • 再谈JavaScript线程

    再谈JavaScript线程

    继上篇讨论了一些关于JavaScript线程的知识,我们不妨回过头再看看,是不是JavaScript就不能多线程呢?看下面一段很简单的代码(演示用,没考虑兼容问题):
    2015-07-07
  • 不错的新闻标题颜色效果

    不错的新闻标题颜色效果

    [红色]不错的新闻标题颜色效果...
    2006-12-12
  • element-plus 官方表格排序问题小结

    element-plus 官方表格排序问题小结

    在使用Element Plus官方API时,表格默认排序可能会遇到问题,一个列表可能被多次排序影响数据展示,解决方法是修改useSortTable.js文件,这样可以确保表格按预期正确排序,更多详情可查阅相关的技术文档或资源
    2024-10-10
  • 整理Javascript流程控制语句学习笔记

    整理Javascript流程控制语句学习笔记

    整理Javascript流程控制语句学习笔记,之前一系列的文章是跟我学习Javascript,本文就是进一步学习javascript流程控制语句,希望大家继续关注
    2015-11-11
  • JS实现手风琴特效

    JS实现手风琴特效

    这篇文章主要为大家详细介绍了JS实现手风琴特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 简单的js表格操作

    简单的js表格操作

    这篇文章主要为大家详细介绍了简单的js表格操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • JS随拖拽速度设置倾斜角度的实现代码

    JS随拖拽速度设置倾斜角度的实现代码

    这篇文章主要给大家介绍了JS如何随拖拽速度设置倾斜角度,文中有详细的代码讲解,对大家的学习或工作有一定的帮助,感兴趣的小伙伴可以自己动手尝试一下
    2023-09-09
  • 深入浅出JS的Object.defineProperty()

    深入浅出JS的Object.defineProperty()

    这篇文章主要介绍了深入浅出JS的Object.defineProperty(),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06

最新评论