日期:2014-05-17  浏览次数:20488 次

新浪微博的字数判断
新浪微博的字数判断怎么做的呀,光知道规则,有高手能用js写出来吗?
需求:英文字母和半角的符号(除了空格)全算半个,中文和全角符号算一个。
以http://开头的网络地址不管多少都算10个,而且能存在多个网络地址,有几个就算几个10

------解决方案--------------------

还可以输入<span id="wordCheck"><span style='font-family:Georgia;font-size:24px;'>140</span></span>个字符
<br>
<textarea name="content" id="i_already" style="width:500px;height:200px;" onkeyup="javascript:checkWord(140,event)"></textarea>

<script type="text/javascript">
function checkWord(len,evt)

if(evt==null) 
{
evt = window.event; 
}
var src = evt.srcElement? evt.srcElement : evt.target; 
var str = src.value.trim();//
myLen =0;
i=0;
var reg = /[http:\/\/]*?/;
 
for(;(i<str.length)&&(myLen<=len*2);i++)
{
if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128)
{
myLen++;
}
else
{
myLen+=2;


if (str.match(reg))
{
myLen+=10;
}
 
}
var mydiv=document.getElementById("wordCheck");
if(myLen>len*2)
{
src.value=str.substring(0,i-1);
}
else

document.getElementById("wordCheck").innerHTML = "<span style='font-family:Georgia;font-size:24px;'>"+Math.floor((len*2-myLen)/2)+"</span>";
}
}

</script>

网络地址的好像有问题,我也不大会写