推薦一款前端漢字轉(zhuǎn)拼音組件工具
推薦一個(gè)前端的漢字轉(zhuǎn)拼音組件 hotoo/pinyin, 支持在 Node 和 Web 瀏覽器環(huán)境運(yùn)行。
github網(wǎng)址:https://github.com/hotoo/pinyin

特性
- 根據(jù)詞組智能匹配最正確的拼音。
- 支持多音字。
- 簡單的繁體支持。
- 支持多種不同拼音風(fēng)格。
使用步驟
安裝依賴
- npm install pinyin
新建一個(gè)pinyin.js
- var pinyin = 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, // 設(shè)置拼音風(fēng)格
- heteronym: true
- })); // [ [ 'zh' ], [ 'x' ] ]
通過pinyin方法,傳入漢字和配置參數(shù)返回拼音二維數(shù)組。配置參數(shù)可以傳入拼音風(fēng)格、多音字模式(返回漢字的所有拼音)、分詞模式(性能慢)。
拼音風(fēng)格有以下幾種:
- pinyin.STYLE_NORMAL //不帶聲調(diào),如:pin yin
- pinyin.STYLE_TONE //默認(rèn)啟用,聲調(diào)風(fēng)格,如:pīn yīn
- pinyin.STYLE_FIRST_LETTER //首字母風(fēng)格,只返回拼音的首字母部分,如:p y
- pinyin.STYLE_INITIALS //聲母風(fēng)格,只返回各個(gè)拼音的聲母部分。對于沒有聲母的漢字,返回空白字符串,如:中國的拼音 zh g
- pinyin.STYLE_TONE2 //聲調(diào)風(fēng)格 2,即拼音聲調(diào)以數(shù)字形式在各個(gè)拼音之后,用數(shù)字 [0-4] 進(jìn)行表示.如:pin1 yin1
- pinyin.STYLE_TO3NE //聲調(diào)風(fēng)格 3,即拼音聲調(diào)以數(shù)字形式在注音字符之后,用數(shù)字 [0-4] 進(jìn)行表示。如:pi1n yi1n
運(yùn)行示例js
運(yùn)行js前需要你本地安裝Node.js環(huán)境,執(zhí)行命令
- node pinyin.js

node pinyin.js
返回的是漢字的拼音二維數(shù)組
如果你想對漢字進(jìn)行拼音排序,可以調(diào)用compare方法對兩組漢字排序。
- Number pinyin.compare(a, b)
a漢字大于b漢字時(shí)返回 1
a漢字小于b漢字時(shí)返回-1
a漢字等于b漢字時(shí)返回0
示例如下:
- console.log(pinyin.compare('中心','中國')); //1
- console.log(pinyin.compare('朋克','朋友')); //-1
- console.log(pinyin.compare('你好','你好')); //0
- console.log(pinyin.compare('你好','你好啊')); //-1