首頁 >web前端 >js教程 >計算新浪Weibo訊息長度(還可以輸入119字)_javascript技巧

計算新浪Weibo訊息長度(還可以輸入119字)_javascript技巧

WBOY
WBOY原創
2016-05-16 17:30:241033瀏覽

此文為計算新浪Weibo的消息長度的方法. 就是(發言請遵守社區公約,還可以輸入119字).

複製代碼


程式碼如下:


var getMessageLength = (function() {
var byteLength = function(b) {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
if(typeof b == "undefined") {
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(/rn/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 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 f = f.replace(g[i], ""); } var l = Math.ceil((h byteLength(f)) / 2); return l; }; })(); getMessageLength('昨天電腦的硬碟壞了,我寄email給美國國家安全局,他們竟然不肯把備份的內容寄給我! '); //39
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn