面白そうなので、自分でも作ってみました。
flipってのは、ひっくり返るってことです。
例えば、pはdにmはwになります。
String.prototype.flipString = function() {
// 変換対象の長さ
var length = this.length;
// 結果文字列を作るための配列
var ar = new Array(length);
// 変換文字用テーブル
var flipTable = {
a : '\u0250',
b : 'q',
c : '\u0254',
d : 'p',
e : '\u01DD',
f : '\u025F',
g : '\u0183',
h : '\u0265',
i : '\u0131',
j : '\u027E',
k : '\u029E',
m : '\u026F',
n : 'u',
r : '\u0279',
t : '\u0287',
v : '\u028C',
w : '\u028D',
y : '\u028E',
'.' : '\u02D9',
'[' : ']',
'(' : ')',
'{' : '}',
'?' : '\u00BF',
'!' : '\u00A1',
"\'" : ',',
'<' : '>',
'_' : '\u203E',
'\u203F' : '\u2040',
'\u2045' : '\u2046',
'\u2234' : '\u2235',
'\r' : '\n'
}
// 処理対象文字列のインデックスカウンタ
var i;
// 処理対象文字
var chara;
// 処理対象文字列
var last = length - 1;
// 変換処理
for (i = 0; i < length; i++) {
chara = this.charAt(i);
ar[last - i] = flipTable[chara] || chara;
}
return ar.join('');
}
こんな感じで呼び出せます。
alert("hoge".flipString());