tool/js - ChineseToPinyin 汉语转拼音

tool/js - ChineseToPinyin 汉语转拼音

Convert_Pinyin.js

js如何简单实现汉字转成拼音的功能

pinyin-pro

官网
npm

npm 安装

npm install pinyin-pro

浏览器引入

<script src="https://unpkg.com/pinyin-pro"></script>

特色功能

  • 获取汉字、词语、句子等多种格式的拼音
  • 获取声母
  • 获取韵母、韵头、韵腹、韵尾
  • 获取拼音首字母
  • 获取音调
  • 获取多音字的多种拼音
  • 支持人名姓氏模式
  • 支持自定义拼音
  • 支持字符串和数组两种输出形式
  • 支持拼音文本匹配功能

语法

import { pinyin } from 'pinyin-pro';

pinyin(text, options); // 返回转换后的信息

参数

  • text (必传):string 类型,需要进行拼音转换的字符串
  • options (可选):object 类型,转换输出的内容及格式,详细见下表
属性类型描述可选值
说明
默认值
patternstring输出的结果信息pinyin
返回拼音全拼
pinyin
initial
返回声母
final
返回韵母
finalHead
返回韵头(介音)
finalBody
返回韵腹
finalTail
返回韵尾
num
返回音调对应数字(轻声返回 0)
first
返回拼音首字母
toneTypestring音调输出形式symbol
作为音调符号带在拼音字母上
symbol
num
作为数字跟在拼音后
none
不加音调
typestring输出结果的类型string
输出字符串,拼音之间以空格隔开
string
array
输出为数组
all
输出完整信息的对象数组
multipleboolean是否输出多音字(仅在 text 为单字时生效)false
输出汉字最常用的拼音
false
true
输出汉字的所有拼音
modestring拼音优先匹配的库模式normal
常规模式
normal
surname
姓氏模式(优先匹配姓氏字库)
nonZhstring非汉字字符的处理形式spaced
非汉字在结果中空格隔开输出
spaced
consecutive
非汉字在结果中紧凑输出
removed
非汉字在结果中移除
vboolean是否将结果中的 ü 替换为 v(带音调的 ǖ,ǘ,ǚ,ǜ 不会被转换)true
将结果中的 ü 替换为 v
false
false
结果中的 ü 保留

eg

<template>
  <div class="app-container">
    <div v-for="(v, i) in list" :key="i">
      <h6>{{ v.title }}</h6>
      <div>
        method:{{ v.code }} ——
        <span>{{ pinyin(v.string, v.option) }}</span>
      </div>
    </div>
  </div>
</template>

<script>
import { pinyin } from 'pinyin-pro'
export default {
  data() {
    return {
      list: [
        {
          title: '获取拼音',
          string: '汉语拼音',
          code: `pinyin('汉语拼音')`,
          option: { toneType: 'none' }
        },
        {
          title: '获取带音调拼音',
          string: '汉语拼音',
          code: `pinyin('汉语拼音')`,
          option: {}
        },
        {
          title: '获取数组形式带音调拼音',
          string: '汉语拼音',
          code: `pinyin('汉语拼音')`,
          option: { type: 'array' }
        },
        {
          title: '获取数组形式不带声调的拼音',
          string: '汉语拼音',
          code: `pinyin('汉语拼音')`,
          option: { toneType: 'none', type: 'array' }
        },
        {
          title: '获取带音调韵母',
          string: '汉语拼音',
          code: `pinyin('汉语拼音')`,
          option: { pattern: 'final' }
        }
      ]
    }
  },
  methods: {
    pinyin
  }
}
</script>

posted @ 2023-02-02 17:53  zc-lee  阅读(126)  评论(0编辑  收藏  举报