中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS驗證全角與半角及相互轉化的介紹

發布時間:2020-09-08 20:22:00 來源:腳本之家 閱讀:157 作者:風雨后見彩虹 欄目:web開發

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 
} 

以上所述是小編給大家介紹的JS驗證全角與半角及相互轉化的知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡族自治县| 清水河县| 吉隆县| 寿光市| 石楼县| 吴忠市| 淅川县| 洛川县| 新安县| 长白| 巴彦县| 西华县| 乳源| 公主岭市| 东方市| 嫩江县| 古田县| 徐闻县| 资阳市| 申扎县| 甘洛县| 弥勒县| 洛隆县| 江孜县| 鹿邑县| 淮安市| 湘西| 思南县| 聊城市| 连云港市| 绥中县| 五常市| 澜沧| 台山市| 成武县| 齐齐哈尔市| 温州市| 南华县| 容城县| 光山县| 普洱|