javascript - 如何将正文中的数字替换为波斯数字?

标签 javascript html jquery localization formatting

我想将 html 内容中的每个数字都转换为波斯数字,而不会对页面元素产生其他影响。

例如:

<div style='color: #c2c2c2'>
  text number 1
  <span>text number 2</span>
  <div>
    text number 3
    <b>text number 4</b>
    <a href='#page2'>text number 5</a>
  </div>
</div>

转换为:

<div style='color: #c2c2c2'>
  text number ۱
  <span>text number ۲</span>
  <div>
    text number ۳
    <b>text number ۴</b>
    <a href='#page2'>text number ۵</a>
  </div>
</div>
let persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
let english = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');

谢谢。

最佳答案

您可以使用此方法:( http://jsfiddle.net/A4NfG/1/ )

persian={0:'۰',1:'۱',2:'۲',3:'۳',4:'۴',5:'۵',6:'۶',7:'۷',8:'۸',9:'۹'};
function traverse(el){
    if(el.nodeType==3){
        var list=el.data.match(/[0-9]/g);
        if(list!=null && list.length!=0){
            for(var i=0;i<list.length;i++)
                el.data=el.data.replace(list[i],persian[list[i]]);
        }
    }
    for(var i=0;i<el.childNodes.length;i++){
        traverse(el.childNodes[i]);
    }
}

关于javascript - 如何将正文中的数字替换为波斯数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247405/

相关文章:

javascript - CSS 中的溢出问题

javascript - jQuery DateTimePicker 在输入模糊时减去一小时

javascript - 带有 Bootstrap 折叠和选项卡的幻灯片

JavaScript : Check if object has properties

c# - 更新 asp.net nopcommerce 后欧元符号发生变化

javascript - 从上到下循环移动背景图像

jquery - 如何显示各个链接的悬浮卡?

jQuery:按值计算数组元素

javascript - 样式组件中的响应式数组

javascript - 如何将包含空格的字符串转换为有组织的对象