// 获取中文首字母的函数
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
str
。chineseList
找到对应的拼音首字母并返回。getFirstLetter
函数获取中文和英文字符的首字母。上一篇:js utf8编码
下一篇:js 忽略大小写
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站