字符串的JQueryfilter数量
你如何只过滤字符串的数字?
Example Pseudo Code: number = $("thumb32").filternumbers() number = 32
你不需要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];
根本不是jQuery:
number = number.replace(/\D/g, '');
正则表达式/\D/g
匹配任何非数字。 因此,对.replace()
的调用用空字符串替换所有非数字(所有这些都由于“g”)。
编辑 – 如果你想要一个实际的* 数字值,你可以在从字符串中删除非数字后使用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's a numeric value
如果原始字符串可能根本没有数字,那么在这种情况下你将从parseInt
获得数值非值NaN
,这可能与任何东西一样好。