最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年05月18日 10:15:57   作者:風(fēng)雨后見(jiàn)彩虹  
全角:是一種電腦字符,是指一個(gè)全角字符占用兩個(gè)標(biāo)準(zhǔn)字符(或兩個(gè)半角字符)的位置。全角占兩個(gè)字節(jié)。半角:是指一個(gè)字符占用一個(gè)標(biāo)準(zhǔn)的字符位置。半角占一個(gè)字節(jié)。接下來(lái)通過(guò)本文給大家介紹JS驗(yàn)證全角與半角及相互轉(zhuǎn)化的知識(shí),需要的朋友參考下吧

1.什么是全角和半角?

全角:是一種電腦字符,是指一個(gè)全角字符占用兩個(gè)標(biāo)準(zhǔn)字符(或兩個(gè)半角字符)的位置。全角占兩個(gè)字節(jié)。

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

半角:是指一個(gè)字符占用一個(gè)標(biāo)準(zhǔn)的字符位置。半角占一個(gè)字節(jié)。

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

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

為了排列整齊,英文和其它拉丁文的字符和標(biāo)點(diǎn)也提供了全角格式。

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

全角和半角主要是針對(duì)標(biāo)點(diǎn)符號(hào)來(lái)說(shuō)的,全角標(biāo)點(diǎn)占兩個(gè)字節(jié),半角占一個(gè)字節(jié)。不管是半角還是全角,漢字都要占兩個(gè)字節(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對(duì)全角與半角的相互轉(zhuǎn)化

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

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

b.其他字符半角(33-126)與全角(65281-65374)的對(duì)應(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 編碼。這個(gè)返回值是 0 - 65535 之間的整數(shù)。

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

想詳細(xì)的了解charCodeAt() 方法與fromCharCode()方法,可以點(diǎn)擊《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 
} 

以上所述是小編給大家介紹的JS驗(yàn)證全角與半角及相互轉(zhuǎn)化的知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

遵义县| 宁远县| 株洲市| 靖远县| 宜川县| 锦州市| 锡林浩特市| 清远市| 乾安县| 布尔津县| 文化| 湖北省| 筠连县| 宜君县| 贵港市| 嘉峪关市| 左贡县| 青田县| 清河县| 陇西县| 三台县| 肥西县| 绥滨县| 扬州市| 广水市| 鹤庆县| 江源县| 宁武县| 扶沟县| 平陆县| 镇巴县| 济阳县| 永顺县| 石渠县| 绥江县| 凤山县| 大石桥市| 温州市| 昔阳县| 绥芬河市| 安福县|