JS基礎編--JSは全角と半角の検証、相互転化及び紹介


1.全角と半角とは?


全角:コンピュータ文字で、1つの全角文字が2つの標準文字(または2つの半角文字)を占有する位置を指します.全角は2バイトです.
漢字文字と全角を規定した英字および国標GB 2312-80の図形記号および特殊文字はすべて全角文字である.全角ではアルファベットや数字などが漢字と同じように等幅の位置を占めている.
半角:1つの文字が標準的な文字位置を占有することを意味します.半角が1バイトを占める.
半角はASCII方式の文字で、漢字入力方式が機能しない場合、入力するアルファベット、数字、文字は半角です.
各半角文字は1バイトの空間(1バイトは8ビット、256個の符号化空間)しか占有しない.中国語、日本語、朝鮮語などの象形文字言語の文字ライブラリ量は256個の符号化空間よりはるかに大きいため、2バイトで保存するように変更された.また、中日韓などの象形文字を書く習慣で、全角文字を統一して使うと、整列も整然としています.
整然と並ぶために、英語や他のラテン語の文字や句読点も全角フォーマットを提供しています.

2.全角と半角の違い


全角と半角は主に句読点で、全角句読点は2バイト、半角は1バイトです.半角でも全角でも漢字は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

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 65280 && str.charCodeAt(i) < 65375){ 
            tmp += String.fromCharCode(str.charCodeAt(i)-65248); 
        } 
        else{ 
            tmp += String.fromCharCode(str.charCodeAt(i)); 
        } 
    } 
    return tmp 
}