推荐一个前端的汉字转拼音组件 hotoo/pinyin, 支持在 Node 和 Web 浏览器环境运行。
github网址:https://github.com/hotoo/pinyin
特性
- 根据词组智能匹配最正确的拼音。
- 支持多音字。
- 简单的繁体支持。
- 支持多种不同拼音风格。
使用步骤
安装依赖
npminstallpinyin
新建一个pinyin.js
varpinyin=require("pinyin");
console.log(pinyin("中心"));//[['zhōng'],['xīn']]
console.log(pinyin("中心",{
heteronym:true//启用多音字模式
}));//[['zhōng','zhòng'],['xīn']]
console.log(pinyin("中心",{
heteronym:true,//启用多音字模式
segment:true//启用分词,以解决多音字问题。
}));//[['zhōng'],['xīn']]
console.log(pinyin("我喜欢你",{
segment:true,//启用分词
group:true//启用词组
}));//[['wǒ'],['xǐhuān'],['nǐ']]
console.log(pinyin("中心",{
style:pinyin.STYLE_INITIALS,//设置拼音风格
heteronym:true
}));//[['zh'],['x']]
通过pinyin方法,传入汉字和配置参数返回拼音二维数组。配置参数可以传入拼音风格、多音字模式(返回汉字的所有拼音)、分词模式(性能慢)。
拼音风格有以下几种:
pinyin.STYLE_NORMAL//不带声调,如:pinyin
pinyin.STYLE_TONE//默认启用,声调风格,如:pīnyīn
pinyin.STYLE_FIRST_LETTER//首字母风格,只返回拼音的首字母部分,如:py
pinyin.STYLE_INITIALS//声母风格,只返回各个拼音的声母部分。对于没有声母的汉字,返回空白字符串,如:中国的拼音zhg
pinyin.STYLE_TONE2//声调风格2,即拼音声调以数字形式在各个拼音之后,用数字[0-4]进行表示.如:pin1yin1
pinyin.STYLE_TO3NE//声调风格3,即拼音声调以数字形式在注音字符之后,用数字[0-4]进行表示。如:pi1nyi1n
运行示例js
运行js前需要你本地安装Node.js环境,执行命令
nodepinyin.js
node pinyin.js
返回的是汉字的拼音二维数组
如果你想对汉字进行拼音排序,可以调用compare方法对两组汉字排序。
Numberpinyin.compare(a,b)
a汉字大于b汉字时返回 1
a汉字小于b汉字时返回-1
a汉字等于b汉字时返回0
示例如下:
console.log(pinyin.compare('中心','中国'));//1
console.log(pinyin.compare('朋克','朋友'));//-1
console.log(pinyin.compare('你好','你好'));//0
console.log(pinyin.compare('你好','你好啊'));//-1