国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS驗證全角與半角及相互轉(zhuǎn)化的介紹

2024-05-06 15:17:04
字體:
供稿:網(wǎng)友

1.什么是全角和半角?

全角:是一種電腦字符,是指一個全角字符占用兩個標準字符(或兩個半角字符)的位置。全角占兩個字節(jié)。

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

半角:是指一個字符占用一個標準的字符位置。半角占一個字節(jié)。

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

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

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

2.全角和半角的區(qū)別

全角和半角主要是針對標點符號來說的,全角標點占兩個字節(jié),半角占一個字節(jié)。不管是半角還是全角,漢字都要占兩個字節(jié)。

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

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

4.js對全角與半角的相互轉(zhuǎn)化

首先,先得明確以下信息:

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

b.其他字符半角(33-126)與全角(65281-65374)的對應(yīng)關(guān)系是:均相差65248

半角轉(zhuǎn)化為全角

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 之間的整數(shù)。

fromCharCode() 可接受一個指定的 Unicode 值,然后返回一個字符串。

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

全角轉(zhuǎn)換為半角

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 }             
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 桂平市| 博白县| 白朗县| 河北省| 长汀县| 松阳县| 新竹县| 老河口市| 响水县| 固原市| 象山县| 宁武县| 新余市| 上高县| 南郑县| 东乡县| 福贡县| 筠连县| 崇明县| 泰来县| 普定县| 永登县| 肇源县| 茂名市| 车致| 竹山县| 江油市| 中西区| 河西区| 准格尔旗| 平远县| 嘉荫县| 云南省| 荥经县| 江阴市| 江川县| 桐梓县| 额济纳旗| 铜川市| 凤台县| 呈贡县|