Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Home

mah0x211 edited this page · 7 revisions
Clone this wiki locally

jaCodeMapは半角全角相互変換するnode.jsモジュールです。 小さなモジュールなのでさくっと使い方がわかる方が良いのでぱぱっと書いときます。

インストール

http://npmjs.org/ にあげているのでnpmでインストールできます。

npm install jaCodeMap

対応文字

以下の文字の全角半角変換に対応してます。 抜けてるものもあるかもしれません。

0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
//「ー」は長音記号
アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンー
ァィゥェォャュョッ
ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ
、。《》「」〔〕・()[]{}
 !"#$%&'*+,-./:;<=>?@\^_`|~¢£ ̄

使い方

使い方はいたって簡単で、モジュールを読み込んでAPIを呼ぶだけです。

var jaCodeMap = require('jaCodeMap');
var zenkaku = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンーァィゥェォャュョッヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ、。《》「」〔〕・()[]{} !"#$%&'*+,-./:;<=>?@\^_`|~¢£ ̄';
var hankaku = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンーァィゥェォャュョッヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ、。⟪⟫「」❲❳・()[]{} !"#$%&\'*+,-./:;<=>?@\^_`|~¢£¯';

// 全角 ー> 半角
console.log( jaCodeMap.f2h( zenkaku ) );
// 半角 ー> 全角
console.log( jaCodeMap.h2f( hankaku ) );

メソッド

全角から半角への変換

// すべての全角文字
f2h( string )
// 全角数字
f2hNum( string )
// 全角英字
f2hAlpha( string )
// 全角英字(小)
f2hAlphaLC( string )
// 全角英字(大)
f2hAlphaUC( string )
// 全角カタカナ
f2hKana( string )
// 濁点付き全角カタカナ
f2hKanaD( string )
// すべての全角カタカナ
f2hKanaAll( string )
// 全角半角対応している日本語でよく使われる約物:、。《》「」〔〕・()[]{}
f2hPunct( string )
// 欧文の全角約物: !"#$%&'*+,-./:;<=>?@\^_`|~¢£ ̄
f2hSym( string )

半角から全角への変換

// すべての半角文字
h2f( string )
// 半角数字
h2fNum( string )
// 半角英字
h2fAlpha( string )
// 半角英字(小)
h2fAlphaLC( string )
// 半角英字(大)
h2fAlphaUC( string )
// 半角カタカナ
h2fKana( string )
// 濁点付き半角カタカナ
h2fKanaD( string )
// すべての半角カタカナ
h2fKanaAll( string )
// 全角半角対応している日本語でよく使われる約物:、。⟪⟫「」❲❳・()[]{}
h2fPunct( string )
// 欧文の半角約物: !"#$%&'*+,-./:;<=>?@\^_`|~¢£¯
h2fSym( string )

特殊用途

上記の他に一般的な日本語文書の校正用の変換メソッドがあります。

auto( string )

これは以下の様な変換をします。

  1. 全角数字を半角へ
  2. 全角英字を半角へ
  3. 半角濁点付きカタカナを全角へ
  4. 半角カタカナを全角へ
  5. 下記の記号を全角半角変換へ

5番目の変換については以下の記号を変換します。

以下の半角文字を全角に変換

// 「 (空白スペース)」「❲」「❳」「⟪」「⟫」「。」「「」「」」「、」「・」「!」「\」
 ❲❳⟪⟫。「」、・!\

以下の全角文字を半角に変換

// 「"」「'」「,」「.」「^」「`」
"',.^`

マニュアル変換

変換を調整するためのマニュアル変換メソッドがあります。

manual( string, array )

これは与えられた配列(array)を元に変換を行います。配列要素には以下のビルトイン変換指定文字列か正規表現を追加できます。

ビルトイン変換指定文字列

// 0-9
hNum
// A-Za-z
hAlpha
// A-Z
hAlphaUC
// a-z
hAlphaLC
// ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
hKana
// ガギグゲゴザジズゼゾダヂヅデドバパビピブプベペボポヴ
hKanaD
// ()[]{}❲❳⟪⟫。「」、・
hPunct
//  !"#$%&'*+,-./:;<=>?@\^_`|~¢£¯
hSym
// 0-9
zNum
// A-Za-z
zAlpha
// A-Z
zAlphaUC
// a-z
zAlphaLC
// ァアィイゥウェエォオカキクケコサシスセソタチッツテトナニヌネノハヒフヘホマミムメモャヤュユョヨラリルレロワヲンー
zKana
// ガギグゲゴザジズゼゾダヂヅデドバパビピブプベペボポヴ
zKanaD 
// 、。《》「」〔〕・ー()[]{}
zPunct 
//  !"#$%&'*+,-./:;<=>?@\^_`|~¢£ ̄
zSym
// ❲❳⟪⟫。「」、・!"',.\\^`
autoSym

サンプルコード

var jaCodeMap = require('jaCodeMap');
var zenkaku = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンーァィゥェォャュョッヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ、。《》「」〔〕・()[]{} !"#$%&'*+,-./:;<=>?@\^_`|~¢£ ̄';

// 全角数字を半角数字に変換
// 全角「アイウエオ」を半角「アイウエオ」に変換
// 全角英字を半角英字に変換
console.log( jaCodeMap.manual( zenkaku, ['zNum', /[アイウエオ]/g, 'zAlpha'] ) );

デフォルトで変換可能文字は上記に記載した「対応文字」の半角全角文字だけです。対応文字が見つからない場合は空文字に変換されます。

変換文字の追加

任意の変換文字を追加する場合は以下のメソッドで対応文字を追加します。

addCodeMap( object or string or array, [ string or array] )

これは3通りの呼び出し方法があります。

第1引数にオブジェクトを指定

以下は、全角「A」と半角「A」、全角「B」と半角「B」の相互変換が追加されます。

var jaCodeMap = require('jaCodeMap');
var code = {
    'A':'A',
    'B':'B'
};

jaCodeMap.addCodeMap( code );

第1引数と第2引数に文字列を指定

第1引数の文字長を基準として、全角「A」と半角「A」、全角「B」と半角「B」の相互変換が追加されます。

var jaCodeMap = require('jaCodeMap');
var code1 = 'AB';
var code2 = 'AB';

jaCodeMap.addCodeMap( code1, code2 );

以下の場合、全角「C」は未定義、また、半角「C」は無視される事になります。

var jaCodeMap = require('jaCodeMap');
var code1 = 'ABC';
var code2 = 'AB';

// 全角「A」と半角「A」、全角「B」と半角「B」、全角「C」は未定義
jaCodeMap.addCodeMap( code1, code2 );

code1 = 'AB';
code2 = 'ABC';

// 全角「A」と半角「A」、全角「B」と半角「B」、半角「C」は無視されます
jaCodeMap.addCodeMap( code1, code2 );

第1引数と第2引数に配列を指定

第1引数の配列長を基準として、全角「A」と半角「A」、全角「B」と半角「B」の相互変換が追加されます。

var jaCodeMap = require('jaCodeMap');
var code1 = 'AB';
var code2 = 'AB';

jaCodeMap.addCodeMap( code1, code2 );

以下の場合、全角「C」は未定義、また、半角「C」は無視される事になります。

var jaCodeMap = require('jaCodeMap');
var code1 = ['A','B','C'];
var code2 = ['A','B'];

// 全角「A」と半角「A」、全角「B」と半角「B」、全角「C」は未定義
jaCodeMap.addCodeMap( code1, code2 );

code1 = ['A','B'];
code2 = ['A','B','C'];

// 全角「A」と半角「A」、全角「B」と半角「B」、半角「C」は無視されます
jaCodeMap.addCodeMap( code1, code2 );
Something went wrong with that request. Please try again.