//考虑了全半角的SubString
function GetSubString(str,len)
{
    if(len == "undefined")
    {
        return str;
    }
    var newStr = new Array();
    var index =0;
    for(var i=0;i<=str.length-2;i++)
    {
        var _str = str.substring(i,i+1);
        var code = escape(str.charAt(i));
//        if(_str.match(/^[\u4e00-\u9fa5]*$/g) != null)  这种写法只考虑了汉字,而没有考虑全角字符
        if ((code.length >= 4) && (code < '%uFF60' || code > '%uFF9F'))
        {
            index = index + 2;
        }
        else
        {
            index = index + 1;
        }
        if(index <= len)
        {
            newStr.push(_str);
        }
        else
        {
            newStr.push("...");
            break;
        }
    }
    return newStr.join("");
}
posted on 2007-02-25 17:02  HenryZhang  阅读(235)  评论(0编辑  收藏  举报