js實現中文轉拼音的完整步驟記錄
使用js搞瞭一個中文轉拼音的包,倉庫地址可見:pinyin-pro
特色功能
- 支持漢字、詞語、句子多種格式輸入獲取
- 獲取拼音
- 獲取聲母
- 獲取韻母
- 獲取拼音首字母
- 獲取音調
- 獲取多音字的多種拼音
- 支持字符串和數組兩種輸出形式
安裝
npm 安裝
npm install pinyin-pro
yarn 安裝
yarn add pinyin-pro
引入
瀏覽器 script 引入:
<!--引入某個版本,如3.2.0版本--> <!-- <script src="https://cdn.jsdelivr.net/gh/zh-lx/[email protected]/dist/pinyin-pro.js"></script> --> <!--引入最新版本--> <script src="https://cdn.jsdelivr.net/gh/zh-lx/pinyin-pro@latest/dist/pinyin-pro.js"></script> <script> var { pinyin } = pinyinPro; pinyin('漢語拼音'); // 'hàn yǔ pīn yīn' </script>
ESModule 引入:
import { pinyin } from 'pinyin-pro'; pinyin('漢語拼音'); // 'hàn yǔ pīn yīn'
commonjs 引入:
const { pinyin } = require('pinyin-pro'); pinyin('漢語拼音'); // 'hàn yǔ pīn yīn'
參數
pinyin(word, options) 接收兩個參數
word:必填。String 類型,需要轉化為拼音的中文
options:可選。Object 類型,用於配置各種輸出形式,options 的鍵值配置如下:
參數 | 說明 | 類型 | 可選值 | 默認值 |
---|---|---|---|---|
pattern | 輸出的結果的信息(拼音 / 聲母 / 韻母 / 音調 / 首字母) | string | pinyin / initial / final / num / first | pinyin |
toneType | 音調輸出形式(拼音符號 / 數字 / 不加音調) | string | symbol / num / none | symbol |
type | 輸出結果類型(字符串/數組) | string | string / array | string |
multiple | 輸出多音字全部拼音(僅在 word 為長度為 1 的漢字字符串時生效) | boolean | true / false | false |
使用示例
獲取拼音
import { pinyin } from 'pinyin-pro'; // 獲取帶音調拼音 pinyin('漢語拼音'); // 'hàn yǔ pīn yīn' // 獲取不帶聲調的拼音 pinyin('漢語拼音', { toneType: 'none' }); // 'han yu pin yin' // 獲取聲調轉換為數字後綴的拼音 pinyin('漢語拼音', { toneType: 'num' }); // 'han4 yu3 pin1 yin1' // 獲取數組形式帶音調拼音 pinyin('漢語拼音', { type: 'array' }); // ["hàn", "yǔ", "pīn", "yīn"] // 獲取數組形式不帶聲調的拼音 pinyin('漢語拼音', { toneType: 'none', type: 'array' }); // ["han", "yu", "pin", "yin"] // 獲取數組形式聲調轉換為數字後綴的拼音 pinyin('漢語拼音', { toneType: 'num', type: 'array' }); // ["han4", "yu3", "pin1", "yin1"]
獲取聲母
import { pinyin } from 'pinyin-pro'; // 獲取聲母 pinyin('漢語拼音', { pattern: 'initial' }); // 'h y p y' // 獲取數組形式聲母 pinyin('漢語拼音', { pattern: 'initial', type: 'array' }); // ["h", "y", "p", "y"]
獲取韻母
import { pinyin } from 'pinyin-pro'; // 獲取帶音調韻母 pinyin('漢語拼音', { pattern: 'final' }); // 'àn ǔ īn īn' // 獲取不帶音調韻母 pinyin('漢語拼音', { pattern: 'final', toneType: 'none' }); // 'an u in in' // 獲取音調為數字的韻母 pinyin('漢語拼音', { pattern: 'final', toneType: 'num' }); // 'an4 u3 in1 in1' // 獲取數組形式帶音調韻母 pinyin('漢語拼音', { pattern: 'final', type: 'array' }); // ["àn", "ǔ", "īn", "īn"] // 獲取數組形式不帶音調韻母 pinyin('漢語拼音', { pattern: 'final', toneType: 'none', type: 'array' }); // ["an", "u", "in", "in"] // 獲取數組形式音調為數字的韻母 pinyin('漢語拼音', { pattern: 'final', toneType: 'num', type: 'array' }); // ['an4', 'u3', 'in1', 'in1']
獲取音調
import { pinyin } from 'pinyin-pro'; // 獲取音調 pinyin('漢語拼音', { pattern: 'num' }); // '4 3 1 1' // 獲取數組形式音調 pinyin('漢語拼音', { pattern: 'num', type: 'array' }); // ["4", "3", "1", "1"]
獲取拼音首字母
import { pinyin } from 'pinyin-pro'; // 獲取拼音首字母 pinyin('趙錢孫李額', { pattern: 'first' }); // 'z q s l é' // 獲取不帶音調拼音首字母 pinyin('趙錢孫李額', { pattern: 'first', toneType: 'none' }); // 'z q s l e' // 獲取數組形式拼音首字母 pinyin('趙錢孫李額', { pattern: 'first', type: 'array' }); // ['z', 'q', 's', 'l', 'é'] // 獲取數組形式不帶音調拼音首字母 pinyin('趙錢孫李額', { pattern: 'first', toneType: 'none', type: 'array' }); // ['z', 'q', 's', 'l', 'e']
獲取單個字的多音
隻有單字可以獲取到多音模式, 詞語、句子無效。同樣可以通過配置 options 選項獲取數組形式、韻母等格式
import { pinyin } from 'pinyin-pro'; // 獲取多音 pinyin('好', { multiple: true }); // 'hǎo hào' // 獲取數組形式多音 pinyin('好', { multiple: true, type: 'array' }); // ["hǎo", "hào"]
總結
到此這篇關於js實現中文轉拼音的文章就介紹到這瞭,更多相關js中文轉拼音內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 教你使用Python pypinyin庫實現漢字轉拼音
- Python 中拼音庫 PyPinyin 用法詳解
- Python實現拼音轉換
- PHP中針對區域語言標記信息的操作
- Python詳解文字轉語音的實現