如何将此RegEx转换为JavaScript RegExp对象?

时间:2016-12-21 11:36:56

标签: javascript regex variables object

我有这个RegEx,它允许人们在十进制之前输入最多7位数,之后两位是可选的。

我认为将它们放入变量会更简洁。 我搜索过使用RegExp对象的人,但我仍然感到很困惑。

这就是我对RegEx的看法。

/^(\d{1,7})(\.\d{2})?$/

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

var max1 = 7;
var max2 = 2;
var rx = new RegExp("^(\\d{1," + max1 + "})(\\.\\d{" + max2 + "})?$");
console.log(rx.test("1234567.12"));
console.log(rx.test("1234567.123"));
console.log(rx.test("12345678.12"));

另外,请查看以下帖子:

答案 1 :(得分:0)

你可以使用:

var patt = new RegExp(/^(\d{1,7})(\.\d{2})?$/);

如何测试:

console.log(patt.test('1234567ab')) : false

console.log(patt.test('1234567.12')) : true