我发现这个功能在文本输入只是阿拉伯数字时非常有效:
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);
}