我在CGI传过来一个字符串,"zhs zhs nihao"想对它进行截取,但在页面上却显示成了,"zhs zhs&nsbp;nihao"这该怎么截呀,小弟没怎么搞过jS望大侠指教.

解决方案 »

  1.   

    var strs = "zhs zhs nihao";
    var str = strs.split(" ");
    strs = ""
    for (var i = 0 ; i < str.length ; i++)
    {
        strs +=str[i];
    }
    alert(strs);
      

  2.   

    哦错了
    反正这样可以实现在str[i]改为str[i]+&nsbp;最后加个判断,最后一个不加&nsbp ;就是了
      

  3.   

    yzh_boy()兄,如果我想截取前6个字符那怎么办呀,还行让前面的空格显示出来.谢谢.
      

  4.   

    <script type="text/javascript">
    function Left(s, n) {
    if (s.length <= n) return s;
    else {
    var a = new Array, p = /([\S\s])/g;
    while (p.exec(s) && n > 1) {
    if (RegExp.$1 != " ") n --;
    else if (n ==1) break;
    a[a.length] = RegExp.$1;
    }
    return a.join("")
    }
    }
    var wc = "hello world";
    alert(["|" + Left(wc, 5) + "|",
    "|" + Left(wc, 6) + "|",
    "|" + Left(wc, 7) + "|",
    "|" + Left(wc, 20) + "|"].join("\n"));
    </script>
      

  5.   

    如果结尾想包括空格的话把那个
    else if (n ==1) break;
    去掉就可以了.
      

  6.   

    不行呀,我这怎么显示的是这个呀.我输的是 "zhs dd" 显示的是 "zhs&nbspdd"
      

  7.   

    <script language="javascript">
    var subject = "<% COLUMN SUBJECT %>";//传入的主题.var len,len1=0,len2=0;
    len=subject.length;
    var i=0,leng=0;
    var reg;
    //reg =[\u0391-\uFFE5];
    reg=/[\u3e00-\u9fa0]/;   for(i;i<len;i++) {
           sub=subject.substr(i,1);
           if(sub.match(reg)){
            len1+=1;
            } else {
             len2+=1;
            }
            leng=len1*2+len2;
            if(leng>=30)
            break;
        }
    if(leng>30)
    {
            subject=subject.substr(0,leng);
            subject=subject+" ...";
    }
    document.getElementById("show_subject").innerHTML=subject;
    </script>遇到空格不知道该怎么截啦.请各位大侠指教.