js截取字符串(区分中文/英文)
/* 处理过长的字符串,截取并添加省略号 * 注:半角长度为1,全角长度为2 * str:字符串 * len:截取长度 * return: 截取后的字符串 */ function cutbytestr(str, len) { var str_length = 0; var str_len = 0; str_cut = new String(); str_len = str.length; for (var i = 0; i < str_len; i++) { a = str.charAt(i); str_length++; if (escape(a).length > 4) { //中文字符的长度经编码之后大于4 str_length++; } str_cut = str_cut.concat(a); if (str_length >= len) { str_cut = str_cut.concat("…"); return str_cut; } } //如果给定字符串小于指定长度,则返回源字符串; if (str_length < len) { return str; } }
/* 处理过长的字符串,截取并添加省略号 * str:字符串 * len:截取长度 * return: 截取后的字符串 */ function cutstr(str, len) { var str_length = 0; var str_len = 0; str_len=str.length; if (str_len <= len) { return str; }else{ str=str.substr(0,len); str = str.concat("…"); return str; } }
/* 取字符串长度 * 注:汉字算两个字符,英文算一个字符 * str:字符串 * return: 长度 */ function getStrLength(str) { var cArr = str.match(/[^\x00-\xff]/ig); return str.length + (cArr == null ? 0 : cArr.length); }