Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中的if中切换或到和_Javascript_If Statement - Fatal编程技术网

如何在javascript中的if中切换或到和

如何在javascript中的if中切换或到和,javascript,if-statement,Javascript,If Statement,现在我搜索合作银行或理想银行,我希望它们都成立,所以我想编辑条件 if (/(Rabobank)|(ideal)/i.test (document.body.innerHTML) ) 已尝试:if(/(荷兰合作银行)| |(理想)/i.test(document.body.innerHTML)) 和if(/(荷兰合作银行)和&(理想)/i.test(document.body.innerHTML))只需使用索引即可: var text = document.body.textContent.t

现在我搜索合作银行或理想银行,我希望它们都成立,所以我想编辑条件

if (/(Rabobank)|(ideal)/i.test (document.body.innerHTML) )
已尝试:
if(/(荷兰合作银行)| |(理想)/i.test(document.body.innerHTML))


if(/(荷兰合作银行)和&(理想)/i.test(document.body.innerHTML))
只需使用
索引即可:

var text = document.body.textContent.toLowerCase();

if ((text.indexOf('rabobank') !== -1) && (text.indexOf('ideal') !== -1)) {
    ...
}

如果您确实需要正则表达式,只需将其分成两个测试,如其他答案中所述。

只需使用
indexOf

var text = document.body.textContent.toLowerCase();

if ((text.indexOf('rabobank') !== -1) && (text.indexOf('ideal') !== -1)) {
    ...
}

如果您确实需要正则表达式,只需将其分为两个测试,如其他答案中所述。

您需要将其分为两个不同的正则表达式:

var html = document.body.innerHTML;
if ( /Rabobank/i.test(html) && 
     /ideal/i.test(html) )
{
   // do something
}

您需要将其拆分为两个不同的正则表达式:

var html = document.body.innerHTML;
if ( /Rabobank/i.test(html) && 
     /ideal/i.test(html) )
{
   // do something
}

正则表达式不是这样工作的。尝试:

if(/Rabobank/i.test(...) && /ideal/i.test(...)){ ... }

从正则表达式中取出
,让JS处理逻辑。

正则表达式不是这样工作的。尝试:

if(/Rabobank/i.test(...) && /ideal/i.test(...)){ ... }

从正则表达式中去掉,让JS来处理逻辑。

不要叫我Greasemonkei我编辑了这个问题!带替换的正则表达式是“OR”。有什么问题吗?@pst题目倒过来了,看问题的第一行。别叫我Greasemonkei,我编辑了这个问题!带替换的正则表达式是“OR”。有什么问题吗?@pst标题是倒转的,请阅读问题的第一行。这很有效。但我不确定这是否有助于op理解为什么他/她的示例不起作用。解释一下为什么使用
indexOf
而不是RegEx也很好。@Madbreaks,有时候
indexOf
更快。但我认为,如果将整个
body.textContent
复制到小写字符串,这里可能不是这样。此外,此解决方案还增加了维护“gotcha”,您必须记住将搜索词的大小写降低(一个已经咬到海报的gotcha!)。@BrockAdams谢谢。我知道为什么最好使用
indexOf
,我的观点是为了写一个好的答案,包括op使用正则表达式的原因,Blender建议了一种完全不同的方法。这种情况经常发生,这很有效。但我不确定这是否有助于op理解为什么他/她的示例不起作用。解释一下为什么使用
indexOf
而不是RegEx也很好。@Madbreaks,有时候
indexOf
更快。但我认为,如果将整个
body.textContent
复制到小写字符串,这里可能不是这样。此外,此解决方案还增加了维护“gotcha”,您必须记住将搜索词的大小写降低(一个已经咬到海报的gotcha!)。@BrockAdams谢谢。我知道为什么最好使用
indexOf
,我的观点是为了写一个好的答案,包括op使用正则表达式的原因,Blender建议了一种完全不同的方法。这种情况经常发生,所以在几乎所有情况下都应该使用
document.body.textContent
。(实际上应该使用DOM技术,但这是另一个问题。)几乎在所有情况下都应该使用
document.body.textContent
。(实际上应该使用DOM技术,但这是另一个问题。)此解决方案不起作用:
if(/Rabobank/i.test(document.body.innerHTML)和&/ideal/i.test(document.body.innerHTML)){document.body.innerHTML}
@remcosweink您在
{document.body.innerHTML}中没有做任何事情。您的代码将无效。测试将正常工作,由您填写括号内的内容!此解决方案不起作用:
如果(/Rabobank/i.test(document.body.innerHTML)和&/ideal/i.test(document.body.innerHTML)){document.body.innerHTML}
@remcosweink您没有在
{document.body.innerHTML}
中执行任何操作。您的代码将无效。测试将正常工作,由您填写括号内的内容!