在javascript中检查字符串中的数字

cip*_*her 1 javascript

我说有一根绳子

var Str = 'My name is 123 and my name is 234'.

现在我将其拆分为

var arrStr = Str.split(' ');

我遍历数组并具有不同的逻辑,具体取决于单词是字符串还是数字.我该如何检查?我试过typeof哪个对我不起作用.

编辑:

看到多个答案后.现在,我绝望,这是最有效的方式吗?

Ibr*_*jar 6

如果你只关心数字,那么你可以使用这样的正则表达式而不是使用split.

var input = "My name is 123 and my name is 234";
var results = input.match(/\d+/g)
Run Code Online (Sandbox Code Playgroud)

如果您关心所有部分,那么您可以使用另一个表达式来查找所有非空格字符,如下所示:

var input = "My name is 123 and my name is 234";
var results = input.match(/\S+/g)
Run Code Online (Sandbox Code Playgroud)

然后逐个迭代它们,并使用isNumeric()@CMS在这个着名问题中发布的着名函数检查给定字符串是否为数字.

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
Run Code Online (Sandbox Code Playgroud)

注意:感谢@Pointy,如果你想要它们作为数字,input.match(/\d+/g).map(Number).