首頁 >web前端 >js教程 >JS全角與半角轉換的實例

JS全角與半角轉換的實例

零下一度
零下一度原創
2017-07-17 16:13:521110瀏覽

最近在做PC端網站的頁面的一個表單校驗,需要把全角輸入轉換成半角符號。之前沒有了解這些編碼的知識,還是得Google一下查查資料,故簡單總結一下。

1.什麼是全角和半角?

全角:是一種電腦字符,是指一個全角字符佔用兩個標準字符(或兩個半角字符)的位置。全角佔兩個位元組。

漢字字元和規定了全角的英文字元及國標GB2312-80中的圖形符號和特殊字元都是全角字元。在全角中,字母和數字等與漢字一樣佔據著等寬的位置。

半角:是指一個字元佔用一個標準的字元位置。半角佔一個位元組。

半角就是 ASCII 方式的字符,在沒有漢字輸入法起作用的時候,輸入的字母、數字和字符都是半角的。

每個半角字元只佔用一位元組的空間(一位元組有8位,共256個編碼空間)。漢語、日語、及朝鮮文等象形字語言的字庫量遠大於256個編碼空間,所以改用兩個位元組來儲存。同時,由於中日韓等象形文字的書寫習慣,如果統一使用全角字符的話,排列起來也顯得整齊。

為了排列整齊,英文和其它拉丁文的字符和標點也提供了全角格式。

2.全角和半角的區別

全角和半角主要是針對標點符號來說的,全角標點佔兩個字節,半角佔一個字節。不管是半角還是全角,漢字都要佔兩個位元組。

全角轉半角

  function ToCDB(str) 
  {   var tmp = "";  
 for (var i = 0; i < str.length; i++) {  
 if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {  
 tmp += String.fromCharCode(str.charCodeAt(i) - 65248);   }   
 else {   tmp += String.fromCharCode(str.charCodeAt(i));   
     }   
      }   
      return tmp   
       }

半角轉全角

    function ToDBC(txtstring) 
    {var tmp = "";
    for (var i = 0; 
    i < txtstring.length; i++) {
    if (txtstring.charCodeAt(i) == 32) 
    {tmp = tmp + String.fromCharCode(12288);}
    if (txtstring.charCodeAt(i) < 127) 
    {
    tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248);
    }
    }return tmp;
    }

以上是JS全角與半角轉換的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn