怎么将文字转换拼音 javascript

JavaScript023

怎么将文字转换拼音 javascript,第1张

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

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

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

下面的例子是引用12306的地址,输入地名全拼显示中文地名:

<div>

    <p><input type="text" id="address" /><input type="button" id="btn" value="查询" /></p>

    <p id="content"></p>

</div>

<script type="text/javascript" src="https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9050"></script>

<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>

<script>

$(function(){

    $('#btn').click(function(){

        getCnName($('#address').val())

    })

    function getCnName(name){

        var arr = station_names.split('@')

        for(var i in arr){

            var son = arr[i].split('|')

            if(son.length > 1){

                if(son[3] == name){

                    $('#content').html("查询结果:" + son[1])

                }

            }

        }

    }

})

</script>

下面是演示效果:

将代码复制到一个html文件中,在浏览器打开就能用了。

在js中如何实现自动获取汉字的五笔首字母?

你的意思是不是,在页面如果打“z”,转换成汉字对应的一些字,然后再根据这些字,来查数据库,取的相关的数据?

这样麻烦。

一般都是在存数据的时候,就已经转换好了对应的拼音。

比如要存:张**

,在存入数据库的时生成一个对应的拼音:zhang**

,把这个也一起存了,汉字存汉字字段,拼音存拼音字段。

查找时输入z,就直接在拼音字段里查需要的数据。

如果表允许再增加字段,还是加个拼音的字段,查找时候方便,快捷。

网上找个汉字转换拼音的类,把数据处理一下,存进拼音字段里。

这个是汉字转拼音参考: