/ Published in: JavaScript
URL: http://snipplr.com/users/szsk/
全角文字を対応する半角文字に
Expand |
Embed | Plain Text
Array.prototype.clone = function( ) { return Array.apply( null, this ); } String.prototype.h2z = function( ignorechars ) { //無視文字列が渡されているなら配列を複製 var tb = ( ignorechars ) ? h2z_tb.clone( ) : h2z_tb; //無視する文字を消していく if( ignorechars ) { ignorechars = ignorechars .replace( /([カキクケコサシスセソタチツテトハヒフヘホ])゙/g, function( $0 ) { daku[ $0.charCodeAt( 0 ) ] = ""; return ""; } ) .replace( /([ハヒフヘホ])゙/g, function( $0 ) { handaku[ $0.charCodeAt( 0 ) ] = ""; return ""; } ) ; for( var i = 0, len = ignorechars.length; i < len; i++ ) tb[ ignorechars.charCodeAt( i )] = ""; } return this .replace( /[\uFF76-\uFF84\uFF8A-\uFF8E]゙/g , function( $0 ) { return daku[ $0.charCodeAt( 0 ) ] || $0; } ) .replace( /[\uFF8A-\uFF8E]゚/g , function( $0 ) { return handaku[ $0.charCodeAt( 0 ) ] || $0; } ) .replace( /[\u0020-\u007E\uFF61-\uFF9F]/g , function( $0 ) { return tb[ $0.charCodeAt( 0 ) ] || $0; } ) ; } var h2z_tb = new Array; var daku = new Array; daku["カ".charCodeAt( 0 )] = "ガ"; daku["キ".charCodeAt( 0 )] = "ギ"; daku["ク".charCodeAt( 0 )] = "グ"; daku["ケ".charCodeAt( 0 )] = "ゲ"; daku["コ".charCodeAt( 0 )] = "ゴ"; daku["サ".charCodeAt( 0 )] = "ザ"; daku["シ".charCodeAt( 0 )] = "ジ"; daku["ス".charCodeAt( 0 )] = "ズ"; daku["セ".charCodeAt( 0 )] = "ゼ"; daku["ソ".charCodeAt( 0 )] = "ゾ"; daku["タ".charCodeAt( 0 )] = "ダ"; daku["チ".charCodeAt( 0 )] = "ヂ"; daku["ツ".charCodeAt( 0 )] = "ヅ"; daku["テ".charCodeAt( 0 )] = "デ"; daku["ト".charCodeAt( 0 )] = "ド"; daku["ハ".charCodeAt( 0 )] = "バ"; daku["ヒ".charCodeAt( 0 )] = "ビ"; daku["フ".charCodeAt( 0 )] = "ブ"; daku["ヘ".charCodeAt( 0 )] = "ベ"; daku["ホ".charCodeAt( 0 )] = "ボ"; var handaku = new Array; handaku["ハ".charCodeAt( 0 )] = "パ"; handaku["ヒ".charCodeAt( 0 )] = "ピ"; handaku["フ".charCodeAt( 0 )] = "プ"; handaku["ヘ".charCodeAt( 0 )] = "ペ"; handaku["ホ".charCodeAt( 0 )] = "ポ"; //半角英数記号→全角英数記号 //!(0x21) - ~(007E) for( i = "!".charCodeAt( 0 ), len = "~".charCodeAt( 0 ); i <= len; i++ ) h2z_tb[i] = String.fromCharCode( i + 0xFEE0 ); h2z_tb[" ".charCodeAt( 0 )] = " "; h2z_tb["\\".charCodeAt( 0 )] = "¥"; //半角カナ→全角カナ var z = '。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜'; for( i = "。".charCodeAt( 0 ), len = "゚".charCodeAt( 0 ); i <= len; i++ ) h2z_tb[i] = z.charAt( i - "。".charCodeAt( 0 ) ); //--------------------------// alert( "アイウエオガギグゲゴパピプペポ。「」、・".h2z ); //アイウエオガギグゲゴパピプペポ。「」、・
You need to login to post a comment.
