外部ソースからの DOM を使用しようとしていますが、その中に のようなヒンディー語/アラビア語の転写にいくつかの数値があり、"۱۶۶۰"
それを数値に変換したいときに を取得しますNaN
。
ここで何が問題なのですか?
試してみる小さなコード スニペット:
alert(Number("۱۶۶۰") + ' - ' + Number("1660"));
外部ソースからの DOM を使用しようとしていますが、その中に のようなヒンディー語/アラビア語の転写にいくつかの数値があり、"۱۶۶۰"
それを数値に変換したいときに を取得しますNaN
。
ここで何が問題なのですか?
試してみる小さなコード スニペット:
alert(Number("۱۶۶۰") + ' - ' + Number("1660"));
低レベルで処理することをお勧めします。アラビア数字を対応するASCII数字に置き換えてから変換してください。
例えば:
>a='\u0661\u0666\u0666\u0660'
"١٦٦٠"
>b='\u06f1\u06f6\u06f6\u06f0'
"۱۶۶۰"
>r=/[\u0660-\u0669\u06F0-\u06F9]/g;
/[\u0660-\u0669\u06F0-\u06F9]/g
>a.replace(r,function(c) { return '0123456789'[c.charCodeAt(0)&0xf]; } )
"1660"
>b.replace(r,function(c) { return '0123456789'[c.charCodeAt(0)&0xf]; } )
"1660"