代码示例:

/**

* 中文字符串转化为拼音

* alert(convertToPinyinLower("你好啊"))

*/

function hash(_key,_value)

{

this.key = _key // 拼音*/

this.value = _value // ascii码*/

}

// javascript 的自定义对象,用于存放汉字拼音数据字典*/

function dictionary()

{

this.items = []

this.add = function(_key,_value)

{

this.items[this.items.length] = new hash(_key,_value)

}

}

//汉字拼音的数据字典-共396个-通过组合声母和韵母*/

var d = new dictionary()

d.add("a",-20319)

d.add("ai",-20317)

d.add("an",-20304)

d.add("ang",-20295)

d.add("ao",-20292)

d.add("ba",-20283)

d.add("bai",-20265)

d.add("ban",-20257)

d.add("bang",-20242)

d.add("bao",-20230)

d.add("bei",-20051)

d.add("ben",-20036)

d.add("beng",-20032)

d.add("bi",-20026)

d.add("bian",-20002)

d.add("biao",-19990)

d.add("bie",-19986)

d.add("bin",-19982)

d.add("bing",-19976)

d.add("bo",-19805)

d.add("bu",-19784)

d.add("ca",-19775)

d.add("cai",-19774)

d.add("can",-19763)

d.add("cang",-19756)

d.add("cao",-19751)

d.add("ce",-19746)

d.add("ceng",-19741)

d.add("cha",-19739)

d.add("chai",-19728)

d.add("chan",-19725)

d.add("chang",-19715)

d.add("chao",-19540)

d.add("che",-19531)

d.add("chen",-19525)

d.add("cheng",-19515)

d.add("chi",-19500)

d.add("chong",-19484)

d.add("chou",-19479)

d.add("chu",-19467)

d.add("chuai",-19289)

d.add("chuan",-19288)

d.add("chuang",-19281)

d.add("chui",-19275)

d.add("chun",-19270)

d.add("chuo",-19263)

d.add("ci",-19261)

d.add("cong",-19249)

d.add("cou",-19243)

d.add("cu",-19242)

d.add("cuan",-19238)

d.add("cui",-19235)

d.add("cun",-19227)

d.add("cuo",-19224)

d.add("da",-19218)

d.add("dai",-19212)

d.add("dan",-19038)

d.add("dang",-19023)

d.add("dao",-19018)

d.add("de",-19006)

d.add("deng",-19003)

d.add("di",-18996)

d.add("dian",-18977)

d.add("diao",-18961)

d.add("die",-18952)

d.add("ding",-18783)

d.add("diu",-18774)

d.add("dong",-18773)

d.add("dou",-18763)

d.add("du",-18756)

d.add("duan",-18741)

d.add("dui",-18735)

d.add("dun",-18731)

d.add("duo",-18722)

d.add("e",-18710)

d.add("en",-18697)

d.add("er",-18696)

d.add("fa",-18526)

//通过查找字典得到与ascii码对应的拼音*/

function getKey(code)

{

if ((code>0)&&(code<160))

return String.fromCharCode(code)// String.fromCharCode 就是把ascii码转成字符*/

else if ((code<-20319)||(code>-10247))

return ""

else

for (var i=d.items.length-1i>=0i--)

{

if (d.items[i].value<=code)

break

}

return d.items[i].key

}

//转为小写*/

function convertToPinyinLower(str)

{

var result = ""

for (var i=1i<=str.lengthi++)

{

//执行指定语言的脚本代码:

//Mid(str,i,1)-指从str的第i个字符开始取长度为1的字符串

//asc(char)-指获取字符的acsii码

execScript("ascCode=asc(mid("" + str + ""," + i + ",1))", "vbscript")

result = result + getKey(ascCode)

}

return result.toLowerCase()

}

//转为大写*/

function convertToPinyinUpper(str)

{

var result = ""

for (var i=1i<=str.lengthi++)

{

//执行指定语言的脚本代码:

//Mid(str,i,1)-指从str的第i个字符开始取长度为1的字符串

//asc(char)-指获取字符的acsii码

execScript("ascCode=asc(mid("" + str + ""," + i + ",1))", "vbscript")

result = result + getKey(ascCode)

}

return result.toUpperCase()

}

//判断中英文

function isChinese(str){

var entryVal=str

var entryLen=entryVal.length

var cnChar=entryVal.match(/[^x00-x80]/g)

if(cnChar!=null&&cnCh

ar.length>0) return true

else return false

}