Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

moji

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moji

半角全角変換・特定文字抽出など日本語を便利に扱うJavaScriptライブラリ。

  • 0.5.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Moji.js npm version

Sauce Test Status

半角英数↔全角英数、半角カナ↔全角カナ、ひらがな↔カタカナ変換等のJavaScriptライブラリ

出来る事

  • 文字種の変換 (convert)
  • 文字種の絞込 (fileter)
  • 文字種の排除 (reject)
  • 空白削除 (trim)

※ 文字種[半角英数、全角英数など]

インストール

ブラウザ

ダウンロード

<script src="/path/to/script/moji.standalone.js"></script>
<script>
$('hoge input')
  .val(new Moji($('hoge input').val()).convert('ZE', 'HE').toString());
</script>

npm & require

npm i moji
var moji = require('moji');

使い方

###convert()

convert('変換元文字種', '変換先文字種')

/** 全角英数 → 半角英数 **/
moji('ABCD01234').convert('ZE', 'HE').toString();
// -> ABCD01234

/** 半角英数 → 全角英数 **/
moji('ABCD01234').convert('HE', 'ZE').toString();
// -> ABCD01234

/** 全角スペース → 全角スペース **/
moji(' ').convert('ZS', 'HS').toString();
// -> ' '

/** ひらがな → カタカナ **/
moji('あいうえお').convert('HG', 'KK').toString();
// -> アイウエオ

/** カタカナ → ひらがな **/
moji('アイウエオ').convert('KK', 'HG').toString();
// -> あいうえお

/** 全角カナ → 半角カナ **/
moji('アイウエオ').convert('ZK', 'HK').toString();
// -> アイウエオ

/** 半角カナ → 全角カナ **/
moji('アイウエオ').convert('HK', 'ZK').toString(),
// -> アイウエオ

メソッドチェーンで繋いで変換

/** [半角カナ] → [全角カナ] → [ひらがな] **/
moji('アイウエオ').convert('HK', 'ZK').convert('KK', 'HG').toString();
// -> あいうえお

trim()

trim()`


toString()

toString()

基本的にメソッドはメソッドチェーンでつなぐ事を想定しているため、文字列の取得は最後にtoStringで文字列に変換してください。


filter()

指定した文字種で絞込ます。

filter('絞り込みたい文字種')

/** ひらがなを絞込 **/
moji('abcあいうアイウ123').filter('HG').toString();
// -> あいう

reject()

指定した文字種を排除します。

reject('排除したい文字種')

/** ひらがなを排除 **/
moji('abcあいうアイウ123').reject('HG').toString();
// -> abcアイウ123

文字種

変換などに使う文字種です。 標準では以下の文字種が登録されています。

ZE: 全角英数 // スペース含まず
HE: 半角英数 // スペース含まず
HG: ひらがな
KK: カタカナ

ZS: 全角スペース
HS: 半角スペース

HK: 半角カタカナ
ZK: 全角カタカナ(半角カタカナとの変換用)
※ 半角カナはガギグゲゴの用にパピプペポのように、濁点、半濁点が別文字列になるなどの特殊性があるため、半角カナ、全角カナ変換は特別に文字種を設定しています。

文字種の追加

文字種は後から独自に追加する事が可能です。

追加例)

moji.addMojisyu('文字種名', {start: 開始文字コード, end: 終了文字コード});
moji.addMojisyu('文字種名', {regxp: 正規表現, list: 文字列の配列});

例)

moji = require('Moji');
moji.addMojisyu('ZE', {start:0xff01, end:0xff5e}); // 全角英数
moji.addMojisyu('HK', {
  regexp: /([\uff66-\uff9c]\uff9e)|([\uff8a-\uff8e]\uff9f)|([\uff61-\uff9f])/g,
  list: ["。", "「", "」"]
  });

文字種のパターンについて

文字種は二つのパターンがあります。これは、文字列の中から該当文字種を検索して置換する方法に依存します。

範囲で指定する文字種

全角英数や半角英数のように、文字コードが連続している場合に仕様します。

正規表現で指定する文字種

半角カナのように連続する文字列では変換できない場合などに利用します。
正規表現(rebexp)で範囲を指定して、その範囲内の文字列がlistにあるかチェックします。

これは、listだけで検索すると文字数に応じてパフォーマンスの劣化が予想されるためです。

この辺りはFHconvertを参考にさせて頂いています。

感謝

FHconverterを多く参考させて頂いています。

ライセンス

MIT

Keywords

FAQs

Package last updated on 16 Jul 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc