[英]Need to get right javascript syntax with input parameters
我有像该agent.match(/(iphone|ipod|ipad)/)
这样的js行,我需要使匹配参数动态化
所以我试着去像那个agent.match('/(' + param + ')/')
但是它不起作用。 无论我在param
什么,它都是匹配的。
我做错了什么? 什么/
手段?
动态生成RegEx字符串时,最好使用RegExp
构造函数。 /
实际上是告诉JavaScript您将使用正则表达式文字。 但是,当您将其放在引号中时,它将成为字符串的一部分。
最简单的方法是将它们放在这样的列表中
var data = ["iphone", "ipod", "ipad"];
并加入|
像这样
agent.match(new RegExp("(" + data.join("|") + ")"))
之所以有效,是因为
data.join("|")
将产生
iphone|ipod|ipad
我们可以将(
和)
与该字符串连接起来,以动态生成所需的模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.