Javascript:indexOf

时间:2014-03-24 09:42:06

标签: javascript

我使用以下代码搜索字符串中的值。

if (myValue.indexOf("Call") > -1) {
 //dosomething
}

我该怎么办?或者?

(myValue.indexOf("Call" || "Data") > -1)

以下作品;

if (myValue.indexOf("Call") > -1 || (myValue.indexOf("Data") > -1) ) {
     //dosomething
    }

但我觉得有一种更简单的方法吗?

6 个答案:

答案 0 :(得分:4)

这样:

myValue.match(/(Call)|(Data)/ig)

答案 1 :(得分:2)

试试这个,

if (myValue.indexOf("Call") > -1  || myValue.indexOf("Data") > -1) {
  //dosomething
}

答案 2 :(得分:1)

你试过了吗?

if ((myValue.indexOf("Call") > -1) || (myValue.indexOf("Data") > -1)) {
 //dosomething
}

答案 3 :(得分:1)

我认为你不能像那样使用indexOf。

您要么对indexOf使用两个单独的调用

(myValue.indexOf("Call") > -1 || myValue.indexOf("Data") > -1)

或者您可以使用RegExp

RegExp("Call|Data$").exec(myValue) != null

答案 4 :(得分:0)

您可以使用正则表达式。

String.prototype.regexIndexOf = function (regex, startpos) {
    var indexOf = this.substring(startpos || 0).search(regex);
    return (indexOf >= 0) ? (indexOf + (startpos || 0)) : indexOf;
}

var myValue = 'Lieutenant Commander Data';

if (myValue.regexIndexOf(/(Call)|(Data)/g) > -1) {
    alert('Success');
}

答案 5 :(得分:-1)

试试这个:

var bool = (myValue.indexOf("Call") > -1 ||  myValue.indexOf("Data") > -1);