求javascript代码:地名拼音转汉字

JavaScript012

求javascript代码:地名拼音转汉字,第1张

下面的例子是引用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既然是代码,自然转不了汉字,而且也毫无意义。

如果是把汉字代码转为汉字,可以使用String.fromCharCode(字符的Ascii码),就可实现将ascii码转换成字符。

和google的输入提示一个道理,几乎所有Ajax入门书都讲这个。

简单的说,输入框的onchange事件的响应函数里面增加一个xmlhttp请求,

服务器响应请求返回提示更新页面。

但是细节上考虑要多复杂有多复杂,

首先就是拼音到汉字,你需要找输入法的源代码,

然后就是缓存,数据库,安全性等等……

方案二:纯js

用js写一个输入法……

大致思路是页面用按音序排列的编码,如GB2312,然后以音序映射到字符编码上