私は入力文字列(アラビア数字)をint値に変換する関数を持っています。私は次の関数でこれを行います。入力がシーケンシャルでないときに文字列をintに変換する
function convertToEnglishDigit(input) {
var numberMap = {
'۰': '0',
'۱': '1',
'۲': '2',
'۳': '3',
'۴': '4',
'۵': '5',
'۶': '6',
'۷': '7',
'۸': '8',
'۹': '9',
};
var result = parseInt(input.replace(/[۰-۹]/g, function(i) {
return numberMap[i];
}));
return result;
}
入力は単一な'۲'
などの文字、または文字列は、'۱۲۳۴۵'
として連続している場合のいずれかである場合、それは動作します。入力が"٢١٠"
のような順番の違う文字列の場合、replace()
の戻り値はNaN
です。なぜこれが問題なのですか?また、どのように順不同なのかを説明することができます。ほとんどいつもあるでしょう。
http://stackoverflow.com/questions/1675786/convert-from-english-digits-to-arabic-ones-in-html-pageこのはず助けてください –
これらの文字はFirebugのために本当に混乱しています:) – Pointy