Рассмотрим сценарий без DOM, в котором вы хотите удалить все нечисловые символы из строки, используя JavaScript / ECMAScript. Любые символы в диапазоне 0 - 9
должны быть сохранены.
var myString = 'abc123.8<blah>';
//desired output is 1238
Как бы вы достигли этого простым JavaScript? Пожалуйста, помните, что это сценарий без DOM, поэтому jQuery и другие решения, включающие события браузера и нажатия клавиш, не подходят.
javascript
string
p.campbell
источник
источник
\D
?replace
работу с этим точным синтаксисом во всех браузерах? кажется, я помню, как получалobject has no method 'replace'
в более старой версии IE, когда использовал это с текстом, который я взял с помощью jQuery ... или что-то в этом роде.Если вам нужно это оставить точку для чисел с плавающей точкой, используйте это
источник
"aaa 2.9px of bbb.".replace(/[^\d.-]/g, '')
→2.9.
Следует удалить любую строку, которая может окружать число ..-
(отрицательного) числа :)parseFloat("-1234.5.50 €".replace(/[^\d.-]/g, ''))
Используйте регулярное выражение, если ваша реализация скрипта поддерживает их. Что-то вроде:
источник
Вы можете использовать RegExp для замены всех нецифровых символов:
источник
Что-то вроде:
источник
yourString = yourString.replace ( /[^0-9.]/g, '' );
пытаться
Показать фрагмент кода
источник
В Angular / Ionic / VueJS - я только что предложил простой метод:
Использование по мнению:
источник
К сожалению, ни один из ответов выше не помог мне.
Я искал, чтобы преобразовать номера валют из строк, таких как
$123,232,122.11
(1232332122.11) илиUSD 123,122.892
(123122.892), или из любой валюты, например₹ 98,79,112.50
(9879112.5), чтобы получить вывод числа, включая десятичный указатель.Пришлось сделать свое собственное регулярное выражение, которое выглядит примерно так:
источник
Короткая функция для удаления всех нечисловых символов, но с сохранением десятичного числа (и возврата числа):
источник
мы в 2017 году теперь вы также можете использовать ES2016
или
Результат
источник