检查var中是否含有“奶酪”或“蛋糕”?

时间:2009-11-01 16:40:45

标签: javascript regex string match

如何检查变量中是否包含某些内容?我尝试检查.match()是否返回null但是对于使用OR进行检查没有用?

6 个答案:

答案 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)