带变量的正则表达式模式

IT技术 javascript regex
2021-02-26 09:40:40

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

这在用于两位或三位数字时工作正常,例如\d{2}or \d{3},但是如果我需要传递变量而不是2and3怎么办?

如何将变量传递给模式?是否可以?

4个回答

您可以使用RegExp,例如;


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

双反斜杠而不是一个。
2021-05-08 09:40:40
这对我有用 var no=2; var rxDatePattern = new RegExp("^(?:\\d*\\.\\d{" + no + "})$");
2021-05-20 09:40:40

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

你能帮我举个例子吗,,,, 因为我对正则表达式比较陌生
2021-04-22 09:40:40
谢谢 Odinn ,,, 我理解你的例子..它帮了我很多..谢谢
2021-04-23 09:40:40
function getRegEx(int len) { return "\d{" + len + "}"; 然后使用以下命令生成正则表达式: reg_ex = getRexEx(6) 以生成正则表达式以检查 6 位十进制数字。您不能在 RegEx 中放置变量,您需要为它们创建一个字符串。
2021-05-07 09:40:40

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

这样的事情应该工作: var i=2, j=3, regex = new RegExp("^\\d{"+ i +","+ j +"}$", "g");
2021-05-15 09:40:40