回覆列表
  • 1 # 使用者834195712159

    程式碼示例:

    /**

    * 中文字串轉化為拼音

    * 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-1;i>=0;i--)

    {

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

    break;

    }

    return d.items[i].key;

    }

    //轉為小寫*/

    function convertToPinyinLower(str)

    {

    var result = "" ;

    for (var i=1;i<=str.length;i++)

    {

    //執行指定語言的指令碼程式碼:

    //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=1;i<=str.length;i++)

    {

    //執行指定語言的指令碼程式碼:

    //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;

    }

  • 中秋節和大豐收的關聯?
  • 阿膠和四物湯哪個補血效果更好呢?