JS中文转换拼音的实现

JavaScript026

JS中文转换拼音的实现,第1张

此前项目中有一个 中文转拼音 的需求,于是整理了一下实现方法。

话不多说( Github Demo )

其实在中文转拼音的过程中,比较麻烦的在于 多音字 和 生僻字 的实现,我想到的解决思路是:

然后修改上述 convert2Pinyin() 和 searchPinYin() 方法,把符合规则的字符返回一个数组,然后用 排列组合 的方式列出所有可能。

该 仓库 除了 拼音转中文 之外,还有其他实用方法, 麻烦移步查看 。如有更好的实现方法,欢迎留言,谢谢!

首先:需要一个汉字拼音对应的表,可以用json格式,也可以用类例如:

{'hao':'\u58d5\u568e\u8c6a\u6beb\u90dd\u597d\u8017\u53f7\u6d69\u8585\u55e5\u5686\u6fe0\u704f\u660a\u7693\u98a2\u869d'}里面的"\u58d5"是汉字的代码

然后通过查找你的汉字和里面的匹配,找到前面的拼音,原理是这样的,但是在匹配的时候怎么快,这个在网上有人写好的插件,也可以自己写,一般情况是:遍历里面的所有的,直到找到或者遍历完成,当然汉字的变慢在你的范围内。还有另外的,就是将汉字编码是有顺序大小的,可以排好序,然后再找前面的英文。