Javascript JS-检查文本中是否有数字

Javascript JS-检查文本中是否有数字,javascript,arrays,Javascript,Arrays,我想检查数字是否在字符串中,例如: var w1 = "1" && "5" && "9"; var newX = "1,7,9,5" if (newX.indexOf(w1) > -1) { alert("is it"); break; } 不幸的是,如果数组中只有9,代码将显示警报。如何检查字符串中是否有1、5或9(newX) 不会做你认为它会做的事 您需要将其设置为一个数组,并分别检查每个项目: var

我想检查数字是否在字符串中,例如:

var w1 = "1" && "5" && "9";
var newX = "1,7,9,5"
if (newX.indexOf(w1) > -1) {
            alert("is it");
            break;
}
不幸的是,如果数组中只有9,代码将显示警报。如何检查字符串中是否有1、5或9(newX)

不会做你认为它会做的事

您需要将其设置为一个数组,并分别检查每个项目:

var w1=[“1”、“5”、“9”];
var newX=“1,7,9,5”
如果(w1)部分(功能(项目){
返回newX.indexOf(项目)>-1
})) {
警惕(“是”);
}
此行:

var w1 = "1" && "5" && "9";
具有与此完全相同的结果:

var w1 = "9";
因为
&&
运算符计算其左侧操作数,如果这是真的,则计算其右侧操作数,并将其作为表达式的结果

我如何检查字符串中的1、5或9(newX)

你需要某种循环。例如,您可以将要检查的内容放入数组中,然后使用
some

var w1=[“1”、“5”、“9”];
var newX=“1,7,5”;//为了清晰起见,移除了9
//这个找到了
如果(w1.some)(功能(条目){
返回newX.indexOf(entry)!=-1;
})) {
控制台日志(“是”);
}
newX=“4,7,8”;
//这个没有
如果(w1.some)(功能(条目){
返回newX.indexOf(entry)!=-1;
})) {
控制台日志(“是2”);

}
使用正则表达式和:

var newX=“1,7,9,5”
if(newX.match(/(?=.*1)(?=.*5)(?=.*9)/){
控制台日志(“是”);

}
正如一些人已经说过的,您希望创建w1和newX变量数组。在我看来,将数字与数字进行比较比试图比较数字串更容易。上面的一些解决方案可能适合您,但也可以通过嵌套循环来实现。这里有一个剪贴画是什么样子做我的方式

var w1 = [1,5,9];
var newX = [1,7,9,5]

for (i = 0; i < newX.length; i++) {
    for (j = 0; j < w1.length; j++) {
        if (w1[j] == newX[i])
        alert("Found " + w1[j] + "!");
    }
}
var w1=[1,5,9];
var newX=[1,7,9,5]
对于(i=0;i

我们首先循环数组newX并检查每个索引(i),然后循环w1数组并检查当前索引(j)是否等于newX当前索引。如果是,我们将其输出到警报。让我知道这个方法是否适合你。如果你需要帮助了解这些,请随时问我

哇,我们两个都用了
一些
:-)@T.J.Crowder
有些
每个
都很棒。在不了解他们的情况下生活太久了!:-)
var w1 = [1,5,9];
var newX = [1,7,9,5]

for (i = 0; i < newX.length; i++) {
    for (j = 0; j < w1.length; j++) {
        if (w1[j] == newX[i])
        alert("Found " + w1[j] + "!");
    }
}