{'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,就直接在拼音字段里查需要的数据。
如果表允许再增加字段,还是加个拼音的字段,查找时候方便,快捷。
网上找个汉字转换拼音的类,把数据处理一下,存进拼音字段里。
这个是汉字转拼音参考: