您好,欢迎访问一九零五行业门户网

JS按字节截取字符长度实例_javascript技巧

<p><br>*<br> * 处理过长的字符串,截取并添加省略号<br> * 注:半角长度为1,全角长度为2<br> * <br> * pstr:字符串<br> * plen:截取长度<br> * <br> * return: 截取后的字符串<br> *<br><div class="codetitle"><span><a style="cursor: pointer" data="30021" class="copybut" id="copybut30021" onclick="docopy('code30021')"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code30021"><br>function autoaddellipsis(pstr, plen) { <br><br> var _ret = cutstring(pstr, plen); <br> var _cutflag = _ret.cutflag; <br> var _cutstringn = _ret.cutstring; <br><br> if (1 == _cutflag) { <br> return _cutstringn + ...; <br> } else { <br> return _cutstringn; <br> } <br>} <br></div> <br>*<br> * 取得指定长度的字符串<br> * 注:半角长度为1,全角长度为2<br> * <br> * pstr:字符串<br> * plen:截取长度<br> * <br> * return: 截取后的字符串<br> *<br><div class="codetitle"><span><a style="cursor: pointer" data="21735" class="copybut" id="copybut21735" onclick="docopy('code21735')"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code21735"><br>function cutstring(pstr, plen) { <br><br> // 原字符串长度 <br> var _strlen = pstr.length; <br><br> var _tmpcode; <br><br> var _cutstring; <br><br> // 默认情况下,返回的字符串是原字符串的一部分 <br> var _cutflag = 1; <br><br> var _lencount = 0; <br><br> var _ret = false; <br><br> if (_strlen <= plen/2) { <br> _cutstring = pstr; <br> _ret = true; <br> } <br><br> if (!_ret) { <br> for (var i = 0; i < _strlen ; i++ ) { <br> if (isfull(pstr.charat(i))) { <br> _lencount += 2; <br> } else { <br> _lencount += 1; <br> } <br><br> if (_lencount > plen) { <br> _cutstring = pstr.substring(0, i); <br> _ret = true; <br> break; <br> } else if (_lencount == plen) { <br> _cutstring = pstr.substring(0, i + 1); <br> _ret = true; <br> break; <br> } <br> } <br> } <br><br> if (!_ret) { <br> _cutstring = pstr; <br> _ret = true; <br> } <br><br> if (_cutstring.length == _strlen) { <br> _cutflag = 0; <br> } <br><br> return {cutstring:_cutstring, cutflag:_cutflag}; <br>} <br></div> <br>*<br> * 判断是否为全角<br> * <br> * pchar:长度为1的字符串<br> * return: tbtrue:全角<br> * false:半角<br> *</p><p><div class="codetitle"><span><a style="cursor: pointer" data="99709" class="copybut" id="copybut99709" onclick="docopy('code99709')"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code99709"> <br>function isfull (pchar) {<br> for (var i = 0; i < pchar.strlen ; i++ ) { <br> if ((pchar.charcodeat(i) > 128)) { <br> return true; <br> } else { <br> return false; <br> }<br>}<br>}<br></div><br>用例:<br><div class="codetitle"><span><a style="cursor: pointer" data="39229" class="copybut" id="copybut39229" onclick="docopy('code39229')"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code39229"><br>teststr = 测试1字符串;<br>autoaddellipsis(teststr, 1); // 测...<br>autoaddellipsis(teststr, 2); // 测...<br>autoaddellipsis(teststr, 3); // 测...<br>autoaddellipsis(teststr, 4); // 测试...<br>autoaddellipsis(teststr, 5); // 测试1...<br>autoaddellipsis(teststr, 6); // 测试1...<br>autoaddellipsis(teststr, 7); // 测试1字...<br></div></p>
其它类似信息

推荐信息