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

function parseArabic(){ // PERSIAN (فارسی), ARABIC (عربي) , URDU (اُردُو)
     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”。很好,但是当我在同一变量中还有其他字符(例如英语(字母和数字)和阿拉伯语(字母))时,如何使用此功能? Ex: "test ٠١٢٣٤٥٦٧٨٩ hello مرحبا "。我问这个是因为parseArabic只接受要翻译的阿拉伯数字;其他被视为NaN。

最佳答案

对于某些不想花很多时间查找Number的人(根据OP的回答)。这是更新的代码:

function parseArabic(){ // PERSIAN (فارسی), ARABIC (عربي) , URDU (اُردُو)
     var yas ="٠١٢٣٤٥٦٧٨٩";
     yas = (yas.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function (d) {
         return d.charCodeAt(0) - 1632;
         }).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function (d) { return d.charCodeAt(0) - 1776; })
     );
     alert(yas);
}

关于javascript - 在文本输入中仅将阿拉伯数字转换为英语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43225416/

10-12 06:51