當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > JS實(shí)現(xiàn)全角轉(zhuǎn)半角

JS實(shí)現(xiàn)全角轉(zhuǎn)半角

2012/11/13 16:16:59作者:佚名來源:網(wǎng)絡(luò)

移動(dòng)端

【實(shí)例名稱】

JS實(shí)現(xiàn)全角轉(zhuǎn)半角

【實(shí)例描述】

全角是中文輸入法下的一種字符形態(tài)。為了控件界面的字符效果,本例提供一種全角轉(zhuǎn)半角的方法。

【實(shí)例代碼】

<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>標(biāo)題頁-學(xué)無憂(www.denvermotorcycleaccidentlawyer.com)</title> <script LANGUAGE="JavaScript"> function fullChar2halfChar(str) {  var result = '';  for (i=0 ; i<str.length; i++)  {   code = str.charCodeAt(i);             //獲取當(dāng)前字符的unicode編碼   if (code >= 65281 && code <= 65373)   //unicode編碼范圍是所有的英文字母以及各種字符   {    result += String.fromCharCode(str.charCodeAt(i) - 65248);    //把全角字符的unicode編碼轉(zhuǎn)換為對(duì)應(yīng)半角字符的unicode碼   }   else if (code == 12288)                                      //空格   {    result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32); //半角空格   }else   {    result += str.charAt(i);                                     //原字符返回   }  }  return result; } </script> </head> <body> 全角<input type=text name="txt1" value="this is??!"><br /> 半角<input type=text name="txt2" value=""> <input type=button value="轉(zhuǎn)換文本" onClick="txt2.value=fullChar2halfChar(txt1.value)"> </body> </html>

【運(yùn)行效果】

 全角轉(zhuǎn)半角運(yùn)行效果

【難點(diǎn)剖析】

本例的難點(diǎn)是unicode編碼??墒褂米址畬?duì)象的“charCodeAt”方法獲取某個(gè)字符的unicode編碼,然后根據(jù)編碼范圍逐個(gè)檢測用戶輸入的文本,如果編碼范圍在“65281~65373”之間,則表示當(dāng)前字符是全角,用此值減去“65248”便是半角符號(hào)。

【源碼下載】

為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:JS實(shí)現(xiàn)全角轉(zhuǎn)半角 進(jìn)行本實(shí)例源碼下載 

標(biāo)簽: JS實(shí)現(xiàn)  轉(zhuǎn)換