首頁 >web前端 >js教程 >JS如何判斷文字是全角還是半角

JS如何判斷文字是全角還是半角

Y2J
Y2J原創
2017-05-20 13:21:046572瀏覽

全角:是一種電腦字符,是指一個全角字符佔用兩個標準字符(或兩個半角字符)的位置。全角佔兩個位元組。半角:是指一個字元佔用一個標準的字元位置。半角佔一個位元組。接下來透過本文來跟大家介紹JS驗證全角與半角及相互轉化的知識,需要的朋友參考下吧

1.什麼是全角與半角?

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

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

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

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

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

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

2.全角和半角的區別

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

3.js判斷輸入的文字是全角還是半角?

str="中文;;a"   
alert(str.match(/[\u0000-\u00ff]/g))   //半角  
alert(str.match(/[\u4e00-\u9fa5]/g))   //中文  
alert(str.match(/[\uff00-\uffff]/g))   //全角

4.js對全角與半角的相互轉換

首先,先得明確以下資訊:

a.全角空格為12288,半角空格為32

b.其他字元半角(33-126)與全角(65281-65374)的對應關係為:均相差65248

半角轉換為全角

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的charCodeAt() 方法與fromCharCode() 方法。

charCodeAt() 方法可傳回指定位置的字元的 Unicode 編碼。這個回傳值是 0 - 65535 之間的整數

fromCharCode() 可接受一個指定的 Unicode 值,然後傳回一個字串

想詳細的了解charCodeAt() 方法與fromCharCode()方法,可以點選《JavaScript charCodeAt() 方法》與《JavaScript fromCharCode() 方法》。

全角轉換為半角

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

【相關推薦】

1. Javascript免費影片教學

2. nodejs+websocket完成一個聊天系統功能

3. Js完成倒數計時時差效果

#4. 關於JS中遞迴刪除數組中元素的方法詳解

#5. JS完成星級評分函數的實例詳解

#

以上是JS如何判斷文字是全角還是半角的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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