Вы можете использовать метод .replace()
для поиска числа в строке с флагом g
, чтобы заменить число в любом месте строки на форматированное. Также нам нужно сначала преобразовать найденные совпадения в Number
, так как они на самом деле являются строками, а метод toLocaleString()
работает только с числом.
var numberString = 'The amount is 10000. But can be also 2000000';
var formatted = numberString.replace(/\d+/g, n => Number(n).toLocaleString("en"))
console.log(formatted);
В целях отладки, если вы хотите увидеть, какие подстроки соответствуют в функции замены метода .replace()
, вы можете сделать это следующим образом:
var numberString = 'The amount is 10000. But can be also 2000000 or more 5000.';
numberString.replace(/\d+/g, n => console.log(n, typeof n))