立即起作用的功能,将所有英文数字替换为阿拉伯数字

syr*_*ull 1 javascript unicode arabic

我有这个功能

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;
}
Run Code Online (Sandbox Code Playgroud)

这取自如何在具有严格doctype的HTML页面中查看阿拉伯语/波斯语数字?

此功能仅在getArabicNumbers()您呼叫时在括号之间放置一些内容时才有效.

我想从文档的开头到结尾对文档应用此功能!我怎样才能做到这一点?在javascript中有可能吗?你推荐它吗?

使用javascript将任何其他方式替换为阿拉伯数字的英文数字(在整页上不在字符串上)?

Rob*_*III 5

您需要遍历DOM树,并为每个textnode调用替换 getArabicNumbers.

我可能会将getArabicNumbers函数更改为正则表达式; 您需要做的就是匹配0-9,然后使用回调映射它.

编辑: 这里有一个小摆弄我放在一起为它的乐趣,并演示一下我说的,它似乎很好地工作,虽然我有点不确定从右到左的部分...

Edit2: D'oh ......你甚至可以不使用map []数组.