# 1. 介绍

cnchar 库是基本库,主要包含汉字 拼音笔画数 的获取

除此之外,还支持 通过拼音查询原汉字, 通过笔画数查询原汉字, 查询拼音详细信息 等功能

ts类型声明:cnchar.d.ts (opens new window)

# 2. spell 方法

spell 方法用户获取汉字拼音,支持 数组分割、首字母,大小写、候选多音字、音调、繁简体功能

# 2.1. api使用

api调用方式如下,所有 arg 参数都是可选的

cnchar.spell(string,arg1,arg2,...);
string.spell(arg1,arg2,...); // string prototype 调用

以下是几个简单的例子:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 2.2. 参数说明

arg 参数信息如下:

参数 作用 是否默认 依赖库 备注
array 返回数组 -- --
first 返回拼音首字母 -- --
up 将结果全部大写 -- --
low 将结果全部小写 -- 会被 up 参数覆盖
poly 使用候选多音字 -- --
tone 启用音调 -- --
simple 是否禁用繁体字的拼音功能 cnchar-trad 使用 cnchar-trad 之后,默认对繁体字拼音进行转换,该参数用于禁用繁体字拼音
flat 是否扁平化拼音 -- 将拼音返回值扁平化处理,lǘ => lv2

# 3. stroke 方法

# 2.1. api使用

api调用方式如下,所有 arg 参数都是可选的

cnchar.stroke(string,arg1,arg2,...);
string.stroke(arg1,arg2,...); // string prototype 调用

以下是几个简单的例子:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 2.2. 参数说明

arg 参数信息如下:

参数 作用 是否默认 依赖库 备注
array 返回数组 -- 使用 cnchar-order 且启用 order 参数后该参数被忽略
order 启用笔画顺序 cnchar-order --
letter 使用笔画顺序字母序列 cnchar-order 当启用 order 后,该值是默认值
detail 使用笔画顺序详情作为返回值,每个汉字对应一个 json cnchar-order 优先级小于 letter
shape 使用笔画形状作为返回值 cnchar-order 优先级小于 detail
name 使用笔画名称作为返回值 cnchar-order 优先级小于 shape
count 使用笔画数作为返回值 cnchar-poly 优先级小于 name
simple 是否禁用繁体字的笔画功能 cnchar-trad 使用 cnchar-trad 之后,默认对繁体字启用笔画功能,该参数用于禁用繁体字笔画功能

# 4. 通过拼音查询原汉字

# 4.1 api使用

api调用方式如下,所有 arg 参数都是可选的

cnchar.spellToWord(spell,arg1,arg2,...);

spell 表示拼音,可以使用音调字母或音调数标方式:

例:shàng 等价于 shang4

ü 可以使用 v 表示,例:lü 等价于 lv

以下是几个简单的例子:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 4.2 参数信息

arg 参数信息如下:

参数 作用 是否默认 依赖库 备注
simple 仅匹配简体字 -- --
trad 仅匹配繁体字 cnchar-trad 该参数仅在引入了 cnchar-trad 后有效
poly 仅匹配多音字 -- --
alltone 匹配该拼音所有音调的汉字 -- 没有音调的拼音表示轻声
array 返回符合条件的数组,默认返回的是字符串 -- --

注:simpletrad参数若是都不存在,则当引入cnchar-trad时会同时匹配繁简体,没有引入cnchar-trad时则只匹配简体

# 5. 通过笔画数查询原汉字

# 5.1 api使用

api调用方式如下,count表示笔画数,所有 arg 参数都是可选的

cnchar.strokeToWord(count,arg1,arg2,...);

以下是几个简单的例子:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 5.2 参数信息

arg 参数信息如下:

参数 作用 是否默认 依赖库 备注
simple 仅匹配简体字 -- --
trad 仅匹配繁体字 cnchar-trad 该参数仅在引入了 cnchar-trad 后有效
array 返回符合条件的数组,默认返回的是字符串 -- --

注:simpletrad参数若是都不存在,则当引入cnchar-trad时会同时匹配繁简体,没有引入cnchar-trad时则只匹配简体

# 6. 其他api

# 6.1 .use()

这个 api 的功能是显式启用 polyordertraddraw 四个功能库

cnchar.use(...libs);

这个启用在非浏览器环境(比如 nodejs 等)中是必须的,使用如下:

// 请保证最先引入 cnchar 基础库,其他几个库顺序无所谓
var cnchar = require('cnchar');
var poly = require('cnchar-poly');
var order = require('cnchar-order');
var trad = require('cnchar-trad');
cnchar.use(poly, order, trad); // 参数顺序无关,三个参数可以任意选择

在浏览器环境中则无需调用:

// 请保证最先引入 cnchar 基础库,其他几个库顺序无所谓
import cnchar from 'cnchar';
import 'cnchar-poly';
import 'cnchar-order';
import 'cnchar-trad';
import 'cnchar-draw';

# 6.2 .type

type 对象用户获取当前可用的 spellstrokeorderToWordspellToWordstrokeToWord 参数类型:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 6.3 .check

该值是一个 布尔类型,用于控制是否开启参数校验,默认值为 true

cnchar带有的参数校验功能能够对 spellstroke 传入的参数进行检查,在控制台显示 无效·忽略冗余的参数

cnchar.check = false; // 关闭参数校验

# 6.4 .version

获取当前版本:

示例代码
运行结果
隐藏结果
Powered by JSBox

# 6.5 .env

获取当前运行的环境:

console.log(cnchar.env);

# 6.6 .plugins

获取当前使用的插件库列表

示例代码
运行结果
隐藏结果
Powered by JSBox

# 7. 应用例子

  1. 汉字打字游戏 (opens new window)
  2. 打字弹钢琴 (opens new window)
  3. 成语接龙 (opens new window)
  4. 通讯录排序 (opens new window)
  5. 取名字 (opens new window)
  6. 输入法 (opens new window)
  7. 歇后语 (opens new window)
  8. 语音识别与合成 (opens new window)
  9. 简繁体转换 (opens new window)
最后更新于: 6/3/2022, 6:12:45 AM