WIZ-CODE.blog

JavaScriptやAjaxをテーマとしたブログです。

*

jPrimライブラリのマイナーチェンジ

   

JavaScriptライブラリjPrim(ジェイプリム)に少々機能を追加しました。そのなかで文字列の全角半角あるいはひらがなカタカナの変換ができると面白いと考え、文字列オブジェクトのメソッドにその機能を実装することに。 ネットを見てみるとすでにJavaScriptで全角半角変換する試みがいろいろ行われていて、自分もそれらを参考にしました。 DanKogai氏の記事 404 Blog Not found javascript – でも全角半角変換 shogo4405さんのJavaScriptライブラリ 平仮名を片仮名にしたり。半角英数字を全角英数字にしたり。全角カタカナを半角カタカナに変換するJavaScript kana.js 英数字の全角半角は対称的な構造なのであまり苦労しなかったものの、ひらがなカタカナだと全角がひらカナ二種類に対し、半角はカタカナのみと非対称でやや扱いにくい感じでした。また、五十音以外の記号を見ると、半角カナのそれは全角に比べて少なく、正規表現でも濁点の判定が難しく例外的な処理が多くなりました。そのため力技っぽくなりパフォーマンスはあまりよくないです。 文字コードを使用した方がコードの見栄えがよく、また四則演算を適用できて何かと便利なので、以下のサイトで文字コードの対応を見ながらコード表を作りました。JavaScriptのメソッドで使う機会が多かったのはString.fromCharCodeメソッドで、これの引数に文字コード(数値)を入れると、その文字コードの文字に変換します。

 
String.fromCharCode( 0x307B ); // ほ
String.fromCharCode( 0x3052 ); // げ
 

半角Unicode対応 文字コード表 全角Unicode対応 文字コード表 jPrimでの使用法は、次のようにjPrimオブジェクトで文字列をラップしconvertCaseメソッドを呼び出します。

 
var toHankana = jPrim( 'このテキストを半角にできるとうれしいんだがね' );

console.log( toHankana.convertCase('han-kata') );
// コノテキストヲ半角ニデキルトウレシインダガネ と表示される
 

変換可能な文字セットは以下の通りです。カッコ内の英字を引数に指定します。 ⇒全角ひらがな(zen-hira) ⇒全角カタカナ(zen-kata) ⇒全角英数(zen-alpha-numeric) ⇒全角英字(zen-alpha) ⇒全角数字(zen-numeric) ⇒半角カタカナ(han-kata) ⇒半角英数(han-alpha-numeric) ⇒半角英字(han-alpha) ⇒半角数字(han-numeric) ⇒プリミティブ値の拡張ライブラリjPrim

 - JavaScript/Ajax , , ,