我有这个功能
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;
}
取自How can I view Arabic/Persian numbers in a HTML page with strict doctype?
此功能仅在您呼叫时在getArabicNumbers()
的括号之间放置一些内容时才有效。
我想从文档的开头到结尾对文档应用此功能!我怎样才能做到这一点?在javascript中有可能吗?你推荐它吗?
使用javascript(在整页上不在字符串上)将英文数字替换为阿拉伯数字的任何其他方式?
答案 0 :(得分:5)
您需要walk the DOM tree并使用getArabicNumbers为每个textnode调用replace。
我可能会将getArabicNumbers函数更改为正则表达式;您需要做的就是匹配0-9,然后使用回调映射它。
修改强> Here's a little fiddle我把它放在一起,为了它的乐趣,并展示我正在谈论的内容,虽然我对右到左部分有点不确定,但似乎工作得很完美......
<强> EDIT2:强> 噢哦......你甚至可以做without the map[] array。