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

标签 javascript numbers nan arabic translate

我发现这个函数在文本输入仅为阿拉伯数字时非常有效:

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”。很好,但是现在当我在同一个变量中有其他字符可能是英语(字母和数字)和阿拉伯语(字母)时,我该如何使用这个函数? 例如:“测试 ٠١٢٣٤٥٦٧٨٩ 你好 مرحبا”。我问这个是因为 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/

相关文章:

javascript - grunt-jade - 如何编译单个 jade 文件而不是所有文件

javascript - 如何从 JSON 响应动态填充 div

string - Elixir - 如何检查一个字符串是否包含文本或者它是否是一个数字 ("453")

python - 有条件 dropna() Pandas

python - 在没有numpy的python中分配一个变量NaN

javascript - 对于循环调用 HTTPS 地理编码 api 并将结果输入坐标到 SQL 数据库,如何让 Node 的 HTTPS 模块工作?

javascript - 缩放和裁剪视频源

java - 将英语数字转换为阿拉伯语的最佳方法

php - codeigniter 的 float 验证检查

.net - 为什么 Assert.AreEqual(1.0, double.NaN, 1.0) 通过?