使用Javascript将运算符(+, - ,*,/)应用于东部阿拉伯数字

Abd*_*hrb 1 javascript numbers operators arabic

已经找到了许多答案如何将东阿拉伯数字(?????????)转换为西方阿拉伯数字(01234567),反之亦然.

但是,有没有办法在东部阿拉伯数字上应用数学运算符.我正在寻找以下内容:

'???'+'???'==235
'???'-'???'==-11
'?'*'?'==6
 '?'==='?'   //false
Run Code Online (Sandbox Code Playgroud)

Abd*_*UMI 5

您可以扩展Number类和覆盖valueOf方法(基于ES6的解决方案)

class EANum extends Number{
     constructor(){
         super();
         this.value=arguments[0];
     }
    valueOf(){
       return  Number( this.value.replace(/[??????????]/g,(d)=> d.charCodeAt(0) - 1632).replace(/[??????????]/g, (d)=> d.charCodeAt(0) - 1776));
    }
    toString(){
       return this.valueOf();
    }

}

var a=new EANum('??'),b=new EANum('??');
console.log(a); // 
console.log(a+b); //45
console.log(a-b); //23
console.log(a*b); //374
Run Code Online (Sandbox Code Playgroud)