@ZZiliST
Изучаю JS, CSS, HTML, PHP

Как извлечь число из строки?

Есть вот такой код:

var el = 'rate-5'
var numEl = parseInt(el);

Почему переменная numEl принимает значение NaN?
Как правильно сделать, чтобы numEl стало равно 5?
  • Вопрос задан
  • 33536 просмотров
Решения вопроса 3
var el = 'rate-55345'
var numEl = parseInt(el.match(/\d+/))

alert(numEl)
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
Почему не работает:

Если функция parseInt встречает символ, не являющийся числом в указанной системе счисления, она пропускает этот и все последующие символы

Ну а получить своё число вы можете так, например: +/\d+/.exec(el).
Ответ написан
Stalker_RED
@Stalker_RED
let x = parseInt(str.replace(/[^\d]/g, ''))
jsfiddle.net/p7y0mgqx
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
little front
var el = 'rate-5356';
// numEl изначально строка, чтобы числа не складывались друг с другом, а приписывались
var numEl = '';
// Перебираем каждый символ. Если символ можно распарсить как номер, приписываем к строке
for (var index in el) {
	if ( parseInt(el[index]) ) {
		numEl += el[index]
	}
}
parseInt(numEl); // 5356


UPD: добавил комментарии на всякий случай
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы