Javascript JQuery筛选字符串的编号

Javascript JQuery筛选字符串的编号,javascript,jquery,string,Javascript,Jquery,String,如何只过滤字符串的数字 Example Pseudo Code: number = $("thumb32").filternumbers() number = 32 完全不是jQuery: number = number.replace(/\D/g, ''); 正则表达式/\D/g与任何非数字匹配。因此,对.replace()的调用将所有非数字(由于“g”)替换为空字符串 编辑-如果需要实际的*数字值,可以在从字符串中删除非数字后使用parseInt(): var number = "num

如何只过滤字符串的数字

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

完全不是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
,这可能与任何东西一样好。

这不需要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];

你可能想要一个
parseInt
在里面?@sje397:也许,也许不——就问题的性质而言,我们不知道他/她是否想要一个只包含数字的字符串的数字。Maybe=可能不=Maybe?;)你能举一些例子吗?dkwlj-32-fjkij-ff0-33?请阅读常见问题解答:问题应该是问题。你在问题上投入的精力越多,你最近得到的答案的质量和数量就越好(也越尊重你展示的场地)。为什么regex这么难?它看起来很陌生,我的大脑似乎马上就关闭了,因为它被大量的标点符号淹没了。。。和符号,如果我不知道它们的意思,但知道它们意味着什么。。。为什么每次我都要查这个?不管发生什么,这些信息都不会出现在我的脑海中。^欢迎来到俱乐部。你好。但是对于像12.5,20.3这样的数字。他们返回125和203?@MinhAnh-这只是当时这个问题的一个非常基本的例子。我为你提到的案例增加了一点额外的内容。@glowy.penguin非常确定我们90%以上的人使用备忘单,因为是的,非常复杂的正则表达式。(我的职业生涯已经16年了,还没来得及想办法摆脱它们。):)