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

解决方案 »

  1.   


    还可以输入<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>网络地址的好像有问题,我也不大会写