Javascript 中英文字符串截取
2015-09-17 12:10
781 查看
/** * 中英文字符串截取 * @param str 要截取的字符串 * @param len 要截取的长度 * @param hasDot 是否在字符串末尾增加'...' * @returns {string} * */ function mySubString (str, len, hasDot){ var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**").length; for(var i = 0;i < strLength;i++) { singleChar = str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null) { newLength += 2; }else { newLength++; } if(newLength > len) { break; } newStr += singleChar; } if(hasDot && strLength > len) { newStr += "..."; } return newStr; }
举个例子,假如需要最多保留24个字符(中文算两个,英文算一个)
$('#inupt').on('keyup',function(){ var newValue = $(this).val(); var textLength = 0; var subStr; for (var i = 0; i < newValue.length; i++) { if (newValue.charAt(i).match(/[\u0391-\uFFE5]/)) { textLength += 2; } else { textLength++; } }; subStr = mySubString(newValue,24); $(this).val(subStr); $('#strLengh').text(textLength);
})
相关文章推荐
- Jsonp post 跨域方案
- JS-实现瀑布流
- js之事件冒泡和事件捕获详细介绍
- js,css 和 html 分离,见仁见智
- {welcome to JS} 无干扰脚本编程
- js的MVC结构设计
- js学习笔记
- 关于Eclipse中JSP,JS,HTML等代码自动提示的设置
- JS最常用 正则表达式3
- JS最常用 正则表达式2
- js-linq.js 从json字符串中按条件查找数据
- JavaScript:delete的用法
- JS如何判断有没有上一页?
- 数据解析2:JSON解析(1)
- javascript 基础学习教程
- 判断js数据类型
- JS+CSS实现精美的二级导航效果代码
- JavaScript之数据类型
- D3.JS坐标轴的使用
- javascript的最佳实践