Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 获取中文首字母

作者:一小我的小情歌   发布日期:2025-08-18   浏览:74

// 获取中文首字母的函数
function getFirstLetter(str) {
    // 定义一个包含汉字拼音首字母的数组
    const pinyinList = [
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'W', 'X', 'Y', 'Z'
    ];

    // 定义一个包含汉字范围的数组,对应上面的拼音首字母
    const chineseList = [
        '\u4E00-\u4EBF', '\u4EC0-\u4EF9', '\u4F00-\u527F', '\u5280-\u5370', '\u5371-\u5426', '\u5427-\u555D', 
        '\u555E-\u55C0', '\u55C1-\u5740', '\u5741-\u586D', '\u586E-\u58F0', '\u58F1-\u59FD', '\u59FE-\u5B7D', 
        '\u5B7E-\u5C2C', '\u5C2D-\u5C5D', '\u5C5E-\u5DBF', '\u5DC0-\u5DDF', '\u5DE0-\u5EFA', '\u5EF4-\u5FAD', 
        '\u5FB4-\u62C0', '\u62C1-\u638C', '\u638D-\u6436', '\u6437-\u64CA', '\u64CB-\u654C', '\u654D-\u664E', 
        '\u664F-\u66D2', '\u66D3-\u6F6D', '\u6F6E-\u732E', '\u732F-\u74B0', '\u74B1-\u7786', '\u7787-\u797D', 
        '\u797E-\u7AF8', '\u7AF9-\u7B20', '\u7B21-\u7F14', '\u7F15-\u8040', '\u8041-\u827D', '\u827E-\u84CA', 
        '\u84CB-\u8590', '\u8591-\u8B1C', '\u8B1D-\u9000', '\u9001-\u907F', '\u9080-\u914D', '\u914E-\u964D', 
        '\u964E-\u9FA5'
    ];

    // 如果输入为空或不是字符串,返回空字符串
    if (!str || typeof str !== 'string') {
        return '';
    }

    // 获取第一个字符
    const firstChar = str.charAt(0);

    // 检查是否是中文字符
    if (firstChar.match(/[\u4e00-\u9fa5]/)) {
        // 遍历汉字范围数组,找到对应的拼音首字母
        for (let i = 0; i < chineseList.length; i++) {
            if (new RegExp(chineseList[i]).test(firstChar)) {
                return pinyinList[i];
            }
        }
    } else {
        // 如果不是中文字符,返回其大写形式
        return firstChar.toUpperCase();
    }

    // 如果没有匹配到任何汉字,返回空字符串
    return '';
}

// 示例用法
console.log(getFirstLetter('测试')); // 输出: C
console.log(getFirstLetter('Hello')); // 输出: H

解释说明:

  1. pinyinList:包含所有可能的拼音首字母(A-Z)。
  2. chineseList:每个元素是一个正则表达式,表示某个拼音首字母对应的汉字范围。
  3. getFirstLetter 函数
    • 接受一个字符串参数 str
    • 检查输入是否为空或非字符串,如果是则返回空字符串。
    • 获取字符串的第一个字符,并检查它是否是中文字符。
    • 如果是中文字符,则遍历 chineseList 找到对应的拼音首字母并返回。
    • 如果不是中文字符,则返回该字符的大写形式。
  4. 示例用法:展示了如何使用 getFirstLetter 函数获取中文和英文字符的首字母。

上一篇:js utf8编码

下一篇:js 忽略大小写

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 点击空白区域触发事件

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站