Изменить: здесь небольшая функция для извлечения всех чисел (как действительных чисел) из входной строки. Это не исчерпывающее выражение, но будет хорошим началом для всех, кто нуждается.
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 в этом случае, которое может быть как угодно.