/** * 获取字符串的长度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(); }