如何检查变量中是否包含某些内容?我尝试检查是否.match()
返回null
,但这对于检查 OR 没有用?
问问题
334 次
6 回答
9
/cheese|cake/.test(a)
i
如果你想不区分大小写地测试,你可以在正则表达式的末尾添加一个
于 2009-11-01T16:43:41.357 回答
5
由于您只得到涉及正则表达式的答案,因此这里是纯字符串操作解决方案:
var hasMatch = input.indexOf('cheese') != -1 || input.indexOf('cake') != -1;
于 2009-11-01T17:01:40.070 回答
2
试试这个:
var myString = 'I love cheese';
var isMatch = new RegExp(/(cheese|cake)/i).test(myString); //should return true
于 2009-11-01T16:43:24.960 回答
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
于 2009-11-01T21:55:47.730 回答
0
你不只是想要以下吗?
var result = input.match("cheese") || input.match("cake");
于 2009-11-01T16:43:26.880 回答
-3
var matched = !!('cheese'.match(/(?:cheese|cake)/g));
alert(matched)
或 RegExp.prototype.test:
var matched = /cheese|cake/i.test('cheese cake');
alert(matched)
于 2009-11-01T16:46:12.943 回答