如何检查变量中是否包含某些内容?我尝试检查.match()
是否返回null
但是对于使用OR进行检查没有用?
答案 0 :(得分:9)
/cheese|cake/.test(a)
如果您想要不区分大小写地测试,可以在正则表达式的末尾添加i
答案 1 :(得分:5)
由于你只得到涉及正则表达式的答案,这里是普通的字符串操作解决方案:
var hasMatch = input.indexOf('cheese') != -1 || input.indexOf('cake') != -1;
答案 2 :(得分:2)
试试这个:
var myString = 'I love cheese';
var isMatch = new RegExp(/(cheese|cake)/i).test(myString); //should return true
答案 3 :(得分:2)
到目前为止发布的所有表达式也将匹配“cheeseburger”和“cakewalk”。不知道这是否可取,以防这里的版本没有:
alert(/\b(cheese|cake)\b/i.test("cheese and cake")) // true
alert(/\b(cheese|cake)\b/i.test("cheeseburger and pancake")) // false
答案 4 :(得分:0)
难道你不想要以下内容吗?
var result = input.match("cheese") || input.match("cake");
答案 5 :(得分:-3)
var matched = !!('cheese'.match(/(?:cheese|cake)/g));
alert(matched)
或RegExp.prototype.test:
var matched = /cheese|cake/i.test('cheese cake');
alert(matched)