JSPinyin is a simple JavaScript library used to obtain the corresponding Pinyin string based on Chinese characters. The plug-in has two built-in functions for obtaining the complete Pinyin character string and the first pinyin letter.
Usage
Use the getFullChars () method to obtain the complete Chinese Pinyin
Var pinyin = new Pinyin ();
Alert (pinyin. getFullChars ('Hello China '));
Use the getCamelChars () method to obtain the first letter of each Chinese character corresponding to the Pinyin alphabet.
Var pinyin = new Pinyin ();
Alert (pinyin. getCamelChars ('Hello China '));
The key of the program is that Javascript automatically uses unicode encoding for Chinese characters. To obtain the ASCII value of GB2312, I used VBSCRIPT to write two functions, call VBSCRIPT functions in JAVASCRIPT programs to implement code conversion.
The complete program is as follows (save the following code as an html file and open it with IE. Enter the content in the Chinese character column, and the pinyin column will display the corresponding Pinyin when the cursor leaves ):
<Mce: script language = "vbscript"> <! --
Function vbChr (c)
VbChr = chr (c)
End function
Function vbAsc (n)
VbAsc = asc (n)
End function
// --> </Mce: script>
<Mce: script language = javascript> <! --
Var py1 = new Array (20319,
20317,
20304,
20295,
20292,
20283,
20265,
20257,
20242,
20230,
20051,
20036,
20032,
20026,
20002,
19990,
19986,
19982,
19976,
19805,
19784,
19775,
19774,
19763,
19756,
19751,
19746,
19741,
19739,
19728,
19725,
19715,
19540,
19531,
19525,
19515,
19500,
19484,
19479,
19467,
19289,
19288,
19281,
19275,
19270,
19263,
19261,
19249,
19243,
19242,
19238,
19235,
19227,
19224,
19218,
19212,
19038,
19023,
19018,
19006,
19003,
18996,
18977,
18961,
18952,
18783,
18774,
18773,
18763,
18756,
18741,
18735,
18731,
18722,
18710,
18697,
18696,
18526,
18518,
18501,
18490,
18478,
18463,
18448,
18447,
18446,
18239,
18237,
18231,
18220,
18211,
18201,
18184,
18183,
18181,
18012,
17997,
17988,
17970,
17964,
17961,
17950,
17947,
17931,
17928,
17922,
17759,
17752,
17733,
17730,
17721,
17703,
17701,
17697,
17692,
17683,
17676,
17496,
17487,
17482,
17468,
17454,
17433,
17427,
17417,
17202,
17185,
16983,
16970,
16942,
16915,
16733,
16708,
16706,
16689,
16664,
16657,
16647,
16474,
16470,
16465,
16459,
16452,
16448,
16433,
16429,
16427,
16423,
16419,
16412,
16407,
16403,
16401,
16393,
16220,
16216,
16212,
16205,
16202,
16187,
16180,
16171,
16169,
16158,
16155,
15959,
15958,
15944,
15933,
15920,
15915,
15903,
15889,
15878,
15707,
15701,
15667,
15661,
15659,
15652,
15681,
15640,
15631,
15625,
15454,
15448,
15436,
15435,
15419,
15416,
15408,
15394,
15385,
15377,
15375,
15369,
15363,
15362,
15183,
15180,
15165,
15158,
15153,
15150,
15149,
15144,
15143,
15141,
15140,
15139,
15128,
15121,
15119,
15117,
15110,
15109,
14941,
14937,
14933,
14929,
14928,
14926,
14930,
14922,
14921,
14914,
14908,
14902,
14894,
14889,
14882,
14873,
14871,
14857,
14678,
14674,
14670,
14668,
14663,
14654,
14645,
14630,
14594,
14429,
14407,
14399,
14384,
14379,
14368,
14355,
14353,
14345,
14170,
14159,
14151,
14149,
14145,
14140,
14137,
14135,
14125,
14123,
14122,
14112,
14109,
14099,
14097,
14094,
14092,
14090,
14087,
14083,
13917,
13914,
13910,
13907,
13906,
13905,
13896,
13894,
13878,
13870,
13859,
13847,
13831,
13658,
13611,
13601,
13406,
13404,
13400,
13398,
13395,
13391,
13387,
13383,
13367,
13359,
13356,
13343,
13340,
13329,
13326,
13318,
13147,
13138,
13120,
13107,
13096,
13095,
13091,
13076,
13068,
13063,
13060,
12888,
12875,
12871,
12860,
12858,
12852,
12849,
12838,
12831,
12829,
12812,
12802,
12607,
12597,
12594,
12585,
12556,
12359,
12346,
12320,
12300,
12120,
12099,
12089,
12074,
12067,
12058,
12039,
11867,
11861,
11847,
11831,
11798,
11781,
11604,
11589,
11536,
11358,
11340,
11339,
11324,
11303,
11097,
11077,
11067,
11055,
11052,
11045,
11041,
11038,
11024,
11020,
11019,
11018,
11014,
10838,
10832,
10815,
10800,
10790,
10780,
10764,
10587,
10544,
10533,
10519,
10331,
10329,
10328,
10322,
10315,
10309,
10307,
10296,
10281,
10274,
10270,
10262,
10260,
10256,
10254,0 );
Var py2 = new Array ('A ',
'Ai ',
'Any ',
'Ang ',
'Ao ',
'Ba ',
'Ba ',
'Ban ',
'Bang ',
'Bao ',
'Bei ',
'Ben ',
'Beng ',
'Bi ',
'Bian ',
'Biao ',
'Bie ',
'Bin ',
'Bing ',
'Bo ',
'Bu ',
'CA ',
'Cai ',
'Can ',
'Cang ',
'Cao ',
'Ce ',
'Ceng ',
'Cha ',
'Chai ',
'Chan ',
'Chang ',
'Chunao ',
'Ch ',
'Chen ',
'Hangzhou ',
'Chi ',
'Chong ',
'Chou ',
'Chu ',
'Chuai ',
'Shanghai ',
'Shanghai ',
'Chuis ',
'Chun ',
'Chuo ',
'Cies ',
'Cong ',
'Cou ',
'Cu ',
'Cuany ',
'Cui ',
'Cun ',
'Cuo ',
'Da ',
'Dai ',
'Dan ',
'Dang ',
'Dao ',
'De ',
'Deng ',
'Di ',
'Dian ',
'Diao ',
'Die ',
'Ding ',
'Diu ',
'Dong ',
'Dou ',
'Du ',
'Duany ',
'DUI ',
'Dun ',
'Duo ',
'E ',
'En ',
'Er ',
'FA ',
'Fan ',
'Fang ',
'Fei ',
'Fen ',
'Feng ',
'Fo ',
'Fou ',
'Fu ',
'Ga ',
'Gai ',
'Gan ',
'Giang ',
'Gao ',
'GE ',
'Gei ',
'Gen ',
'Geng ',
'Gong ',
'Gou ',
'Gu ',
'Gua ',
'Guai ',
'Guany ',
'Guang ',
'Gu ',
'Gun ',
'Guo ',
'Ha ',
'Hai ',
'Han ',
'Hang ',
'Hao ',
'Hes ',
'Hei ',
'Authorization ',
'Hangzhou ',
'Hong ',
'Hou ',
'Hu ',
'Hu ',
'Huai ',
'Huany ',
'Huangt ',
'Hui ',
'Hun ',
'Huo ',
'Ji ',
'Ja ',
'Jian ',
'Jiang ',
'Shao ',
'Jie ',
'Jin ',
'Jing ',
'Jiong ',
'Jiu ',
'Ju ',
'Juany ',
'Jue ',
'Jun ',
'Ka ',
'Kai ',
'Kan ',
'Hangzhou ',
'Kakao ',
'Ke ',
'Ken ',
'Keng ',
'Kong ',
'Kou ',
'Ku ',
'Kua ',
'Kuai ',
'Kuany ',
'Kuang ',
'Kuai ',
'Kn ',
'Kuo ',
'LA ',
'Les ',
'LAN ',
'Lang ',
'Lao ',
'Le ',
'Lei ',
'Leng ',
'Lil ',
'Lia ',
'Liany ',
'Shanghai ',
'Liao ',
'Lil ',
'Lin ',
'Ling ',
'Liu ',
'Long ',
'Loud ',
'Lu ',
'Luan ',
'Lue ',
'Lun ',
'Luo ',
'Lv ',
'Ma ',
'Mai ',
'Man ',
'MANG ',
'Mao ',
'Me ',
'MEI ',
'Men ',
'Meng ',
'MI ',
'Miany ',
'Miao ',
'Mie ',
'Min ',
'Ming ',
'Miu ',
'Mo ',
'Mou ',
'Mu ',
'A ',
'Nai ',
'Nan ',
'Nang ',
'Nao ',
'Ne ',
'Nei ',
'Nen ',
'Neng ',
'Ni ',
'Niany ',
'Niang ',
'Niao ',
'Ni ',
'Nin ',
'Ning ',
'Niu ',
'Nong ',
'Nu ',
'Nuany ',
'Nue ',
'Nuo ',
'Nv ',
'O ',
'Ou ',
'Pa ',
'Pai ',
'Pan ',
'Pang ',
'Pao ',
'Pei ',
'Pen ',
'Peng ',
'Pi ',
'Piany ',
'Piao ',
'Pie ',
'Pin ',
'Ping ',
'Po ',
'Put ',
'Qi ',
'Qia ',
'Qian ',
'Qiang ',
'Qiao ',
'Qie ',
'Qin ',
'Qing ',
'Qiong ',
'Qiu ',
'Qu ',
'Quany ',
'Que ',
'Qun ',
'Run ',
'Rang ',
'Rao ',
'Re ',
'Ren ',
'Reng ',
'Ri ',
'Rong ',
'Rou ',
'RU ',
'Rule ',
'Rui ',
'Run ',
'Ruo ',
'Sa ',
'Sai ',
'San ',
'Shanghai ',
'Sao ',
'Se ',
'Sen ',
'Seng ',
'Sha ',
'Shai ',
'Shany ',
'Shang ',
'Shao ',
'She ',
'Shen ',
'Sheng ',
'Shi ',
'Shou ',
'Shu ',
'Shua ',
'Shuai ',
'Shuany ',
'Shuang ',
'Shuis ',
'Shanghai ',
'Shanghai ',
'Si ',
'Song ',
'Sou ',
'Su ',
'Suany ',
'Sui ',
'Sun ',
'Suo ',
'Ta ',
'Tai ',
'Tan ',
'Shanghai ',
'Tao ',
'Te ',
'Teng ',
'Ti ',
'Tiany ',
'Tiao ',
'Tie ',
'Ting ',
'Tongg ',
'Tou ',
'Tu ',
'Tuany ',
'Tuis ',
'T ',
'Tuo ',
'Wa ',
'Wai ',
'Wan ',
'Wang ',
'Wei ',
'Wen ',
'Weng ',
'Wo ',
'Wu ',
'Si ',
'CIA ',
'Xian ',
'Shanghai ',
'Xiao ',
'Xie ',
'Sin ',
'X ',
'Xiong ',
'Xiu ',
'Xu ',
'Xuany ',
'Xue ',
'Xun ',
'Ya ',
'Any ',
'Yang ',
'Yunao ',
'Ye ',
'Yi ',
'Yin ',
'Yin ',
'Yo ',
'Yong ',
'You ',
'Yu ',
'Yuany ',
'Yue ',
'Yun ',
'Za ',
'Zai ',
'Zany ',
'Zang ',
'Zao ',
'Z ',
'Zei ',
'Zn ',
'Zeng ',
'Zha ',
'Zhai ',
'Zhan ',
'Zhang ',
'Zhao ',
'Zhes ',
'Zhen ',
'Zheng ',
'Zhi ',
'Zhong ',
'Zhou ',
'Zhu ',
'Zhua ',
'Zhuai ',
'Zhuany ',
'Zhuang ',
'Zhui ',
'Zhun ',
'Zhuo ',
'Zi ',
'Zong ',
'Zou ',
'Zu ',
'Zuan ',
'Zuis ',
'Zun ',
'Zuo ','');
Function getPinYin (index ){
Var I;
If (index = 0x1534) return 'any ';
If (index> 0x4F5F | index <0x2807) return '';
I = 0; while (py1 [I]> = index) I ++;
Return py2 [i-1];
}
Function pinyin (s ){
Var I, s2 = '';
For (I = 0; I <s. length; I ++) s2 + = getPinYin (0-vbAsc (s. charAt (I )));
Return s2;
}
// --> </Mce: script>