如何在RegEx模式中使用变量?

时间:2017-08-02 04:33:20

标签: javascript regex

此代码的用法是仅显示输入的最后四位数。

在这里,我想用变量' mask <替换这个“(/.(?= {{{{{{{'*'*'*)”'4' / em> '。这样的事情。

x.value = x.value.replace(/.(?=.{+mask+})/g, '*');

任何建议PLZ

function myFunction(mask) {
    var x = document.getElementById("cc");
    x.value = x.value.replace(/.(?=.{4})/g, '*');
}
<input type="text" id="cc" onkeyup="myFunction(4)" style="text-align:right">

1 个答案:

答案 0 :(得分:15)

使用new RegExp(string)动态构建正则表达式。文字/../表单不能与动态内容一起使用。

确保在构建字符串后有一个有效的模式。

var len = 99;
var re = new RegExp(".(?=.{" + len + "})", "g");
var output = input.replace(re, "*")

另见(并投票给dupe):