H.AL Ответов: 1

Как преобразовать только числа из арабского в английский при вводе текста?


Я пытаюсь использовать эту функцию для замены только арабских цифр при вводе текста:

function parseArabic(){ 
     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);
}


Предупрежденный Яс - это "0123456789", и это здорово. Теперь, если я использую yas =" ٠١٢٣٤٥٦٧٨٩ G", NaN предупреждается . Таким образом, эта функция работает в том случае, если у нас есть только арабские цифры. Поэтому мне нужна такая функция, как эта, чтобы заменить все арабские цифры их значениями, но другие символы должны оставаться такими, какие они есть ...

Что я уже пробовал:

Я не хочу заменять каждое арабское число отдельно, например: замените(٠ на 0) и
заменить (١ на 1) ...

1 Ответов

Рейтинг:
7

Karthik_Mahalingam

снять Number функция и попробуйте

Цитата:
Поэтому мне нужна такая функция, как эта, чтобы заменить все арабские цифры их значениями, но другие символы должны оставаться такими, какие они есть

var yas = "٠١٢٣٤٥٦٧٨٩ g"; 
    yas = yas.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function (d) { return d.charCodeAt(0) - 1632; })
        .replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function (d) { return d.charCodeAt(0) - 1776; });
    alert(yas);// "0123456789 g"


H.AL

ты спас мне жизнь, Спасибо

Karthik_Mahalingam

добро пожаловать