JS中文转换拼音的实现

JavaScript023

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"是汉字的代码

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

JavaScript 汉字转拼音,我也需要这个,在网上找了不少,有的只能在ie里边实现,找了很久,最后找到个可以在ie8. firefox ,chrome都行的。

http://hi.baidu.com/lukin/blog/item/07ec768b5fd15216c9fc7aa7.html 这个百度空间的这个,我用上了,蛮好用的,分享出来,看看是否能帮助你。

<!doctype html>

<html>

<head>

<script src="pinyin.js" type="text/javascript"></script>

<style>

div{

border:1px solid black

padding:5px

margin:2px

}

</style>

</head>

<body>

<select id='sel'>

<option value="1">1</option>

<option value="2">2</option>

</select>

<script language="javascript">

alert(CC2PY("你好"))

</script>

</body>

</html>

这样简单的可以测试。。。 我不需要首字母大写,我已经调好了,在使用中,我们可以多多交流。