js中按字节截取字符串
来源:互联网 发布:淘宝到付怎么弄 编辑:程序博客网 时间:2024/06/04 11:10
功能:在网页中显示过长的字符串,截取指定长度,结尾添加省略号。
例如:
testStr = "测试1字符串";
autoAddEllipsis(testStr, 1); // "测..."
autoAddEllipsis(testStr, 2); // "测..."
autoAddEllipsis(testStr, 3); // "测..."
autoAddEllipsis(testStr, 4); // "测试..."
autoAddEllipsis(testStr, 5); // "测试1..."
autoAddEllipsis(testStr, 6); // "测试1..."
autoAddEllipsis(testStr, 7); // "测试1字..."
代码如下,其中全角半角判断部分isFull()的逻辑偷懒了,有特殊符号需求的可以自己定制。
例如:
testStr = "测试1字符串";
autoAddEllipsis(testStr, 1); // "测..."
autoAddEllipsis(testStr, 2); // "测..."
autoAddEllipsis(testStr, 3); // "测..."
autoAddEllipsis(testStr, 4); // "测试..."
autoAddEllipsis(testStr, 5); // "测试1..."
autoAddEllipsis(testStr, 6); // "测试1..."
autoAddEllipsis(testStr, 7); // "测试1字..."
代码如下,其中全角半角判断部分isFull()的逻辑偷懒了,有特殊符号需求的可以自己定制。
- /*
- * 处理过长的字符串,截取并添加省略号
- * 注:半角长度为1,全角长度为2
- *
- * pStr:字符串
- * pLen:截取长度
- *
- * return: 截取后的字符串
- */
- function autoAddEllipsis(pStr, pLen) {
- var _ret = cutString(pStr, pLen);
- var _cutFlag = _ret.cutflag;
- var _cutStringn = _ret.cutstring;
- if ("1" == _cutFlag) {
- return _cutStringn + "...";
- } else {
- return _cutStringn;
- }
- }
- /*
- * 取得指定长度的字符串
- * 注:半角长度为1,全角长度为2
- *
- * pStr:字符串
- * pLen:截取长度
- *
- * return: 截取后的字符串
- */
- function cutString(pStr, pLen) {
- // 原字符串长度
- var _strLen = pStr.length;
- var _tmpCode;
- var _cutString;
- // 默认情况下,返回的字符串是原字符串的一部分
- var _cutFlag = "1";
- var _lenCount = 0;
- var _ret = false;
- if (_strLen <= pLen/2) {
- _cutString = pStr;
- _ret = true;
- }
- if (!_ret) {
- for (var i = 0; i < _strLen ; i++ ) {
- if (isFull(pStr.charAt(i))) {
- _lenCount += 2;
- } else {
- _lenCount += 1;
- }
- if (_lenCount > pLen) {
- _cutString = pStr.substring(0, i);
- _ret = true;
- break;
- } else if (_lenCount == pLen) {
- _cutString = pStr.substring(0, i + 1);
- _ret = true;
- break;
- }
- }
- }
- if (!_ret) {
- _cutString = pStr;
- _ret = true;
- }
- if (_cutString.length == _strLen) {
- _cutFlag = "0";
- }
- return {"cutstring":_cutString, "cutflag":_cutFlag};
- }
- /*
- * 判断是否为全角
- *
- * pChar:长度为1的字符串
- * return: true:全角
- * false:半角
- */
- function isFull (pChar) {
- if ((pChar.charCodeAt(0) > 128)) {
- return true;
- } else {
- return false;
- }
- }
0 0
- js中按字节截取字符串
- js中根据字节截取字符串
- java中按字节截取String字符串.
- JAVA中按字节截取字符串
- JAVA中按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- 按字节截取字符串
- js从字符串中截取10个字节的长度
- js中截取字符串
- C#截取字符串按字节截取SubString
- 按字节长度截取字符串
- 按字节截取字符串-Java
- java按字节截取字符串
- hibernate.cfg.xml配置文件详解
- git安装和使用
- btn = (Button)sender
- Html标签 textarea 的属性及用法
- understanding linux usb ehci device driver
- js中按字节截取字符串
- 5个海盗,分100个金币
- SXH232摄像头使用示范
- OSI七层模型
- zoj3529 A Game Between Alice and Bob 博弈
- JS 字符串操作
- 什么是Visual C++以及C++新特性
- AudioRecord录音初始化异常
- hashmap详解(带hashmap源码分析)