jquery截取、判断字符串的长度,中英文都可
计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
个人笔记:"aa" 只要是2个字节的单位都行;例如"01";
success: function (data) {
data = eval(data);
for (var i = 0; i < data.length; i++) {
if (data[i].text.replace(/[^\x00-\xff]/g, "01").length > 16 && i!=0)
{
data[i].text = data[i].text.substring(0, 9) + "..."
}
//data[i].text直接使用三元运算符(?:)有问题,原因暂时还不知道;
("#id").append("<option value=\"" + data[i].id + "\" title=\"" + data[i].text + "\">" + data[i].text + "</option>");
},
//字符长度计算
function getStrLength(str) {
var cArr = str.match(/[^\x00-\xff]/ig);
return str.length + (cArr == null ? 0 : cArr.length);
}
//JS处理字符长度 autoAddEllipsis("ABC测试D",6)
/*
* 处理过长的字符串,截取并添加省略号
* 注:半角长度为1,全角长度为2
*
* pStr:字符串
* pLen:截取长度
*
* return: 截取后的字符串
*/
function autoAddEllipsis(pStr, pLen) { var _ret = cutString(pStr, pLen);
var _cutFlag = _ret.cutflag;
var _cutStringn = _ret.cutstring; if ("" == _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 = ""; var _lenCount = ; var _ret = false; if (_strLen <= pLen / ) {
_cutString = pStr;
_ret = true;
} if (!_ret) {
for (var i = ; i < _strLen ; i++) {
if (isFull(pStr.charAt(i))) {
_lenCount += ;
} else {
_lenCount += ;
} if (_lenCount > pLen) {
_cutString = pStr.substring(, i);
_ret = true;
break;
} else if (_lenCount == pLen) {
_cutString = pStr.substring(, i + );
_ret = true;
break;
}
}
} if (!_ret) {
_cutString = pStr;
_ret = true;
} if (_cutString.length == _strLen) {
_cutFlag = "";
} return { "cutstring": _cutString, "cutflag": _cutFlag };
} /*
* 判断是否为全角
*
* pChar:长度为1的字符串
* return: true:全角
* false:半角
*/
function isFull(pChar) {
if ((pChar.charCodeAt() > )) {
return true;
} else {
return false;
}
}
jquery截取、判断字符串的长度,中英文都可的更多相关文章
- 使用if判断字符串的长度是否等于10,根据结果进行不同的输出
string1=' print(len(string1)) # 使用len()计算字符串长度 if not len(string1) ==10: print('字符串的长度不为10') else: p ...
- El表达式的判断字符串的长度和截取,日期时间的格式化
<c:if test="${fn:length(each.wii_name) >= 20}"> ${fn:substring(each.wii_name, 0,2 ...
- jquery正则判断字符串有几个逗号
var angelweb="我,你,ta,";var re=/[,,]/g;if(re.test(angelweb)){ var n=angelweb.match(re).leng ...
- jQuery截取字符串插件区分中英文
jQuery截取字符串插件区分中英文:截取字符串功能在大量网站都有应用,比如新闻列表这样的功能,因为新闻的标题长途未必都是恰如其分的,所以要根据需要截取指定长度的字符串,下面就分享一个jQuery实现 ...
- js div截取字符串的长度
<div style="width:100%;" id="changdu">这个是字符串的长度</div> $("#chang ...
- php截取中文字符串,英文字符串,中英文字符串长度的方法
今天学习了php函数截取中文字符串,英文字符串,中英文字符串的函数使用方法.对中英文截取方法不理解,此处先做记录. PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节 ...
- oracle操作字符串:拼接、替换、截取、查找、长度、判断
1.拼接字符串 1)可以使用“||”来拼接字符串 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 select concat('拼接', '字 ...
- C#与JS实现 获取指定字节长度 中英文混合字符串 的方法
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要 ...
- 截取字符(pos,copy,Leftstr,MidStr,RightStr)以逗号为准把字符串拆分,判断字符串是否有数字、字母(大小写), 去掉字符串空格
1.copy(a,b,c) 举个例子: str := “123456”;str1 := Copy(Str,2,3);结果就是 str1 等于 234.Copy有3个参数,第一个是你要处理的字符串,第二 ...
随机推荐
- 【转】 robotframework(rf)中对时间操作的datetime库常用关键字
转自http://blog.csdn.net/r455678/article/details/52993765 DateTime库是robotframework内置的库 1.对固定日期进行操作,增加或 ...
- Python3 中hashlib及uuid的用法
Python3 中hashlib及uuid的用法: 可以生成随机ID import uuid import hashlib import time def creat_uuid(): return s ...
- NSNumber数字
前言 将基本数据类型包装成 OC 对象 1.NSNumber 与 基本数据类型 的相互转换 // 基本数据类型 转 NSNumber // 对象方法,将整形数据转换为 OC 对象 NSNumber * ...
- SQLAlchemy外键的使用
orm可以将数据库存储的数据封装成对象,同时,如果封装的好的话,所有的数据库操作都可以封装到对象中.这样的代码在组织结构上会非常的清晰,并且相对与使用sql语句在sql注入方面会极具降低. SQLAl ...
- 函数声明后面的const用法
void function() const{} 通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢? 看一下下面的例子,就知道了.直接在编译前,就会提示下面的两个错误 // ...
- Django 实现的分页类
后台实现的一个分页类: from django.utils.safestring import mark_safe class Page: def __init__(self, current_pag ...
- Redis学习笔记(2)—— Redis的安装和使用
一.CentOS安装Redis 1.1 安装环境 redis是C语言开发的,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境.如果没有gcc环境,需要安装gcc: yum instal ...
- BZOJ 4765 普通计算姬 dfs序+分块+树状数组+好题!!!
真是道好题...感到灵魂的升华... 按dfs序建树状数组,拿前缀和去求解散块: 按点的标号分块,分成一个个区间,记录区间子树和 的 总和... 具体地,需要记录每个点u修改后,对每一个块i的贡献,记 ...
- linux 学习2 (基于ubuntu)
一.远程管理命令 关机/重启 shutdown reboot(重启) halt(直接关机) 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh ping 1. 关机/重 ...
- WPF Canvas转换为位图 (RenderTargetBitmap)
使用 RenderTargetBitmap 的注意事项: 1. 要渲染的Canvas元素要放在Border元素内,并且此Border元素不能设置边框宽度(BorderThickness),不然生成的位 ...