Javascript 带有变量的正则表达式模式

Javascript 带有变量的正则表达式模式,javascript,regex,Javascript,Regex,我使用正则表达式检查小数点后的位数 当它用于两个或三个数字时,例如\d{2}或\d{3},工作正常,但是如果我需要传递一个变量而不是2和3,该怎么办 如何将变量传递给模式?有可能吗?您可以编写一个函数,用您为所需的数字或十进制数字提供的参数生成正则表达式字符串。您可以使用正则表达式,如 //just an example though var i = 2; var pattern = new RegExp("\\d{"+i+"}$"); 只定义数字的范围怎么样:\d{2,3}?这可能很有用:

我使用正则表达式检查小数点后的位数

当它用于两个或三个数字时,例如
\d{2}
\d{3}
,工作正常,但是如果我需要传递一个变量而不是
2
3
,该怎么办


如何将变量传递给模式?有可能吗?

您可以编写一个函数,用您为所需的数字或十进制数字提供的参数生成正则表达式字符串。

您可以使用正则表达式,如


//just an example though
var i = 2;
var pattern = new RegExp("\\d{"+i+"}$");

只定义数字的范围怎么样:
\d{2,3}

这可能很有用:

您必须将RegExp构建为一个字符串。您能告诉我如何做到这一点吗,,,,我如何构建双反斜杠而不是一个。这对我来说非常有用;var rxDatePattern=new RegExp(“^(?:\\d*\\.\\d{”+no+“})$”;你能帮我举个例子吗,,,因为我对正则表达式函数getRegEx(int len){return“\d{”+len+“}”;}比较陌生,然后用:reg_ex=getRexEx(6)生成正则表达式以检查6位小数。你不能把变量放在正则表达式中,你需要为它们创建一个字符串。谢谢Odinn,,,我理解了你的例子..它帮了我很多..谢谢像这样的方法应该可以工作:var i=2,j=3,RegEx=new RegExp(“^\\d{”+i+,“+j+”}$,“g”);