1

私はこの機能を持っています

var map =
[
"&\#1632;","&\#1633;","&\#1634;","&\#1635;","&\#1636;",
"&\#1637;","&\#1638;","&\#1639;","&\#1640;","&\#1641;"
];

function getArabicNumbers(str)
{
    var newStr = "";

    str = String(str);

    for(i=0; i<str.length; i++)
    {
        newStr += map[parseInt(str.charAt(i))];
    }

    return newStr;
}

これは、厳密な文書型を持つ HTML ページでアラビア語/ペルシャ語の数字を表示するにはどうすればよいですか?から取得したものです。

getArabicNumbers()この関数は、呼び出し時に括弧内に何かを入れた場合にのみ機能します。

この関数をドキュメントの最初から最後まで適用したい! どうやってやるの?JavaScriptで可能ですか?あなたはそれをお勧めしますか?

JavaScriptを使用して英語の数字をアラビア数字に置き換える他の方法はありますか(文字列ではなくページ全体で)?

4

1 に答える 1

5

DOM ツリーをたどって、textnode 呼び出しごとに getArabicNumbersに置き換える必要があります。

おそらく getArabicNumbers 関数を正規表現に変更します。必要なことは、0 ~ 9 を一致させてから、コールバックを使用してマップすることだけです。

編集: これは、楽しみのためにまとめた小さなフィドルであり、私が話していることを実証するために、右から左の部分について少し確信が持てませんが、完全に機能するようです...

Edit2: D'oh... map[] array がなくて もできます。

于 2012-07-05T00:21:20.443 に答える