大家应该都知道在 Javascript 中正则匹配可以使用 match 方法。
一个最简单的正则匹配例子 :
"Foo".match(/foo/i);
输出结果:
['Foo']
Ok, 要解决标题中所说问题,我有必要先说明下在这里动态字符串指的是个什么?
动态字符串是指: 正则表达式是个变量,具体内容无法提前知道,例如需要对用户输入的结果进行正则匹配。那该如何处理这种情况?
我们可以通过实例化一个带有字符串参数的 RegExp 对象来处理这个问题,例如:
var input = "foo" ;
var re = new RegExp(input, "i") ;
"Foo".match(re) ;
输出结果:
['Foo']
代码中 input 变量表示用户输入的值(可以根据具体情况获取), re 就是根据输入内容生成的 RegExp 实例,其中 i
这个参数表示忽略大小写。
参考资料: