新浪微博字数统计 textarea字数统计实现代码
新浪微博字数统计 textarea字数统计实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:/**从新浪微博上抄的**/vargetLength=(function(){vartrim=function(h){tr...

复制代码 代码如下:

/*

* 从新浪微博上抄的

* */

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教程学习
编程开发子分类