字符串的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 ,这可能与任何东西一样好。