js中字符串超长作固定长度加省略号(...)处理
2017-08-02 16:29
274 查看
由于JavaScript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,这就导致了前后端校验长度不一致,这个问题可以通过正则来解决。 有时候为了美观,不影响布局和界面,会以一些文案进行截字,但是中文的宽度和英文的宽度不一样,如果按照英文标准来截中文的,或者按中文标准截英文的,显然会忽长忽短,特别是昵称这类容易既有中文又有英文的东西
/* * 用途:js中字符串超长作固定长度加省略号(...)处理 参数说明: str:需要进行处理的字符串,可含汉字 len:需要显示多少个汉字,两个英文字母相当于一个汉字。 */ function beautySub(str, len) { var reg = /[\u4e00-\u9fa5]/g, //专业匹配中文 slice = str.substring(0, len), chineseCharNum = (~~(slice.match(reg) && slice.match(reg).length)), realen = slice.length*2 - chineseCharNum; return str.substr(0, realen) + (realen < str.length ? "..." : ""); }
参考以下链接优化:
http://blog.csdn.net/a82168506/article/details/7168017#javascript
相关文章推荐
- js中字符串超长作固定长度加省略号(...)处理
- 字符串处理:中英文混排固定长度截取问题
- js之2016.7.21字符串处理之替换 ,计数长度和符号,分隔
- 字符串处理:中英文混排固定长度截取问题
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- Js自动截取字符串长度,添加省略号(……)的实现方法
- ASP.NET - 截取固定长度字符串显示在页面,多余部分显示为省略号
- 固定长度和变长 字符串 对 默认值的处理
- js截取字符串长度,超出的用省略号代替
- Js自动截取字符串长度,添加省略号“……”
- ASP.net:截取固定长度字符串显示在页面,多余部分显示为省略号
- js截取字符串指定长度,超出长度显示省略号
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- ASP.net:截取固定长度字符串显示在页面,多余部分显示为省略号
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- ASP.net:截取固定长度字符串显示在页面,多余部分显示为省略号
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)
- JS版获取字符串真实长度和取固定长度的字符串函数
- c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法