/**
|
* 获取字符串的长度ascii长度为1 中文长度为2
|
* @param str
|
* @returns {number}
|
*/
|
export const getStrFullLength = (str = '') =>
|
str.split('').reduce((pre, cur) => {
|
const charCode = cur.charCodeAt(0)
|
if (charCode >= 0 && charCode <= 128) {
|
return pre + 1
|
}
|
return pre + 2
|
}, 0)
|
|
/**
|
* 给定一个字符串和一个长度,将此字符串按指定长度截取
|
* @param str
|
* @param maxLength
|
* @returns {string}
|
*/
|
export const cutStrByFullLength = (str = '', maxLength) => {
|
let showLength = 0
|
return str.split('').reduce((pre, cur) => {
|
const charCode = cur.charCodeAt(0)
|
if (charCode >= 0 && charCode <= 128) {
|
showLength += 1
|
} else {
|
showLength += 2
|
}
|
if (showLength <= maxLength) {
|
return pre + cur
|
}
|
return pre
|
}, '')
|
}
|
|
// 下划线转换驼峰
|
export function underLinetoHump(name) {
|
return name.replace(/\_(\w)/g, function(all, letter){
|
return letter.toUpperCase();
|
});
|
}
|
// 驼峰转换下划线
|
export function humptoUnderLine(name) {
|
return name.replace(/([A-Z])/g,"_$1").toLowerCase();
|
}
|