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