JSでテキストが全角か半角かを判断する方法

Y2J
リリース: 2017-05-20 13:21:04
オリジナル
6418 人が閲覧しました

全角: コンピュータ文字の一種で、全角 1 文字が標準文字 2 文字 (または半角 2 文字) の位置を占めることを意味します。全角は 2 バイトを占めます。半角: 標準の文字位置を占める文字を指します。半角は1バイトとなります。次に、この記事を通して、JSの全角と半角の検証と相互変換の知識を紹介しますので、必要な方は参考にしてください

1. width?

全角: コンピュータ文字の一種で、全角文字は標準文字 2 文字 (または半角文字 2 文字) のスペースを占めます。全角は 2 バイトを占めます。全角を指定する

漢字と英語文字、および国家標準GB2312-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<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 値を受け入れ、string を返します。

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!