javascript 判断中文字符长度的函数代码



function getChineseLength(str) {
    // 使用正则表达式匹配中文字符
    const chineseRegex = /[\u4e00-\u9fa5]/g;
    // 返回匹配到的中文字符的数量
    return (str.match(chineseRegex) || []).length;
}

// 示例
console.log(getChineseLength("hello世界")); // 输出 1
console.log(getChineseLength("测试一下")); // 输出 2
console.log(getChineseLength("no chinese")); // 输出 0

这段代码定义了一个名为`getChineseLength`的函数,它接受一个字符串`str`作为参数,并使用正则表达式`[\u4e00-\u9fa5]`来匹配字符串中的所有中文字符。然后,通过`match`方法获取所有匹配的中文字符数组(如果没有匹配项,则返回`null`,因此通过`|| []`确保返回的是一个空数组而不是`null`),最后返回这个数组的长度,即中文字符的数量。