javascript – 在文本输入中仅将阿拉伯数字转换为英语

我发现这个功能在文本输入只是阿拉伯数字时非常有效:

function parseArabic(){ // PERSIAN, ARABIC, URDO
     var yas ="٠١٢٣٤٥٦٧٨٩";
     yas = Number(yas.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function (d) {
         return d.charCodeAt(0) - 1632;                
         }).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function (d) { return d.charCodeAt(0) - 1776; })
     );
     alert(yas);
}

这里yas的警告值是“0123456789”.很好但是现在当我在同一个变量中有其他字符(可能是英文(字母和数字)和阿拉伯语(字母)时,我怎么能使用这个功能?例如:“测试0123456789 helloمرحبا”.我问这个是因为parseArabic只接受要翻译的阿拉伯数字;其他人被认为是NaN.

解决方法:

对于一些不想冒险找到号码的人(根据OP的回答).这是更新的代码:

function parseArabic(){ // PERSIAN, ARABIC, URDO
     var yas ="٠١٢٣٤٥٦٧٨٩";
     yas = (yas.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function (d) {
         return d.charCodeAt(0) - 1632;                
         }).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function (d) { return d.charCodeAt(0) - 1776; })
     );
     alert(yas);
}
上一篇:php – 如何在UTF-8编码文件中保存俄语字符


下一篇:Python中maketrans和translate方法