中文转拼音首字母
中文转拼音首字母简化版,不管是PC端,移动端,小程序上已验证均可运行。
代码如下:
// 拼音声母可能的首字母 const PINYIN_INITIAL_CONSONANT_LETTERS = 'ABCDEFGHJKLMNOPQRSTWXYZ'.split(''); // 拼音声母对应的边界中文 const PINYIN_BOUNDARY_CHAR = '驁簿錯鵽樲鰒餜靃攟鬠纙鞪黁漚曝裠鶸蜶籜鶩鑂韻糳'.split(''); /** * 获取拼音首字母(大写), 如果不是中文,返回原字符 * 示例 * '中文' => 'ZW' * '中文123' => 'ZW123' * 'abc' => 'abc' */ function getChinesePinyinAbbreviation(str) { // 空字符串直接返回 if (!str) { return ''; } if (str.length > 1) { return str.split('').map(getChinesePinyinAbbreviation).join(''); } // 判断字符是否为中文,不是中文返回原字符 if (/[^\u4e00-\u9fa5]/.test(str)) { return str; } const index = PINYIN_BOUNDARY_CHAR.findIndex((char) => { return char.localeCompare(str, 'zh-CN-u-co-pinyin') >= 0; }); return PINYIN_INITIAL_CONSONANT_LETTERS[index]; } console.log(getChinesePinyinAbbreviation("中国123".substring(0,1)));
如需转载原创文章,请标注原文地址,版权所有!
浙公网安备 33010602011771号