計算新浪Weibo消息長度(還可以輸入119字)
更新時間:2013年07月02日 17:02:01 投稿:whsnow
此文為計算新浪Weibo的消息長度的方法. 就是在發(fā)言的時候還可以輸入多少字,具體的實現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
此文為計算新浪Weibo的消息長度的方法. 就是 (發(fā)言請遵守社區(qū)公約,還可以輸入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;
};
})();
相關文章
JSON.stringify(遞歸)與?JSON.parse(有限狀態(tài)自動機)的實現(xiàn)代碼
這篇文章主要介紹了JSON.stringify(遞歸)與?JSON.parse(有限狀態(tài)自動機)的實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08JavaScript數(shù)據(jù)結構中串的表示與應用實例
這篇文章主要介紹了JavaScript數(shù)據(jù)結構中串的表示與應用,結合實例形式簡單分析了基于javascript順序操作實現(xiàn)串結構與串的拼接操作相關技巧,需要的朋友可以參考下2017-04-04JS數(shù)組進階示例【數(shù)組的幾種函數(shù)用法】
這篇文章主要介紹了JS數(shù)組進階,結合實例形式總結分析了數(shù)組的幾種常見函數(shù)基本用法,涉及JavaScript數(shù)組元素刪除、拼接、添加、倒序排列等相關操作技巧,需要的朋友可以參考下2020-01-01