Skip to content

Instantly share code, notes, and snippets.

@rming
Forked from roshanca/subString.js
Created August 29, 2019 11:07
Show Gist options
  • Save rming/132109363d2cf12fa42ad68be7329342 to your computer and use it in GitHub Desktop.
Save rming/132109363d2cf12fa42ad68be7329342 to your computer and use it in GitHub Desktop.
截取指定长度的中英文混合字符串
/**
* 截取指定长度的中英文混合字符串
* @param {String} str 待截取的字符串
* @param {Number} n 截取长度(中文字符为英文的 double)
* @return {String} 截取后的字符串
*/
function subString(str, n) {
var r = /[^\x00-\xff]/g;
var m;
if (str.replace(r, '**').length > n) {
m = Math.floor(n / 2);
for (var i = m, l = str.length; i < l; i++) {
if (str.substr(0, i).replace(r, '**').length >= n) {
return str.substr(0, i);
}
}
}
return str;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment