Подтвердить что ты не робот

Номера фильтров JQuery строки

Как вы фильтруете только числа строк?

Example Pseudo Code:
number = $("thumb32").filternumbers()
number = 32
4b9b3361

Ответ 1

Для этого вам не нужен jQuery - просто старый JavaScript замена регулярных выражений

var number = yourstring.replace(/[^0-9]/g, '')

Это избавится от всего, что не было [0-9]

Изменить: здесь небольшая функция для извлечения всех чисел (как действительных чисел) из входной строки. Это не исчерпывающее выражение, но будет хорошим началом для всех, кто нуждается.

function getNumbers(inputString){
    var regex=/\d+\.\d+|\.\d+|\d+/g, 
        results = [],
        n;

    while(n = regex.exec(inputString)) {
        results.push(parseFloat(n[0]));
    }

    return results;
}

var data = "123.45,34 and 57. Maybe add a 45.824 with 0.32 and .56"
console.log(getNumbers(data));
// [123.45, 34, 57, 45.824, 0.32, 0.56];

Ответ 2

Не совсем jQuery:

number = number.replace(/\D/g, '');

Это регулярное выражение /\D/g соответствует любому знаку. Таким образом, вызов .replace() заменяет все не-цифры (все из них, благодаря "g" ) с пустой строкой.

edit — если вы хотите фактическое * числовое значение, вы можете использовать parseInt() после удаления нецифровых цифр из строки:

var number = "number32"; // a string
number = number.replace(/\D/g, ''); // a string of only digits, or the empty string
number = parseInt(number, 10); // now it a numeric value

Если исходная строка может вообще не содержать цифр, вы получите числовое значение NaN от parseInt в этом случае, которое может быть как угодно.