搜索日期是否包含列表中的月份

时间:2015-07-24 10:15:36

标签: javascript

我需要有关此脚本的帮助,我需要查看我的日期是否包含其中一个

('Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir','Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd'); 

例如

  • 正确的情况:

    如果日期2015/Bal/01

  • 错误的情况:

    如果2015/Bel/01

我试过这样做:

    var myString = txtCellEditor.value;
    if (myString.contains('Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir','Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd') >= 0) { 
        alert('Yes');
    } else { 
        alert('No');
    }

但是这个ddnt帮助了,因为每次写的是。请帮忙。

4 个答案:

答案 0 :(得分:2)

var myString = txtCellEditor.value;
if (myString.contains(['Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir','Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd']) >0) { 
    alert('Yes');
} else { 
    alert('No');
}

试试

答案 1 :(得分:2)

或者您可以使用some

var myString = txtCellEditor.value;
if (['Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir','Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd'].some(month => myString.contains(month))) {
    alert('Yes');
} else { 
    alert('No');
}

答案 2 :(得分:1)

String.contains不属于JavaScript规范,可能并非在所有浏览器中都受到普遍支持。

尝试使用正则表达式:

var myString = txtCellEditor.value;
if (myString.match(/Sau|Vas|Kov|Bal|Geg|Bir|Lie|Rgp|Rgs|Spa|Lap|Grd/i)) { 
    alert('Yes');
} else { 
    alert('No');
}

答案 3 :(得分:1)

我做了一个工作小提琴,但警报非常烦人xD

var myString = "Kov";
var monthsArray = ['Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir','Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd'];

for (var i = 0; i < monthsArray.length; i++){
  (myString.indexOf(monthsArray[i]) > -1) ? alert("yes") : alert("no");
}

https://jsfiddle.net/2c58rssL/