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

时间:2017-04-05 08:08:37

标签: javascript numbers nan arabic translate

我发现这个功能在文本输入只有阿拉伯数字时才能正常工作:

git ls-remote http://user@server/GIT/${REPO}.git

这里yas的警告值是“0123456789”。很好但是现在当我在同一个变量中有其他字符(可能是英文(字母和数字)和阿拉伯语(字母)时,我怎么能使用这个功能? 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); } 。我问这个是因为parseArabic只接受要翻译的阿拉伯数字;其他人被认为是NaN。

2 个答案:

答案 0 :(得分:4)

对于那些不想冒险找到Number的人(按照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);
}

答案 1 :(得分:0)

好吧所以我刚刚删除了数字,它的工作就像闪耀一样:)