我正在尝试检测我的味精中是否包含"No matching records found"来执行if/else语句。我知道邮件中包含该词组,请检查console.log('msg', msg);

有人可以告诉我我写错了这行吗?

var hasNoRecords = msg.indexOf(/No matching records found/igm) > -1;


如果hasNoRecords在消息中找到该短语,我试图显示警报。但是,它绕过了消息,好像它不在消息中一样。

if (hasNoRecords) {
      alert('There are no records found');
    } else {
      $('#pdfiframe').html(msg);
      document.getElementById('pdfiframe').contentWindow.print();
      console.log('hasNoRecords Failed');
    }


任何帮助,将不胜感激!

最佳答案

我不相信indexOf接受正则表达式,除非您创建自己的自定义函数。此外,可以使用字符串对象上的.toLowerCase将该对象的值转换为所有小写字母,然后搜索您的值(也必须全部使用小写字母),而不是使用正则表达式忽略大小写。

您当前的代码可以更改为:

var hasNoRecords = msg.toLowerCase().indexOf("no matching records found") > -1;


让我知道是否有帮助。

关于javascript - indexOf匹配短语并显示警报,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47037588/

10-11 08:12