2017-08-02 22 views
1

此代碼的用法是僅顯示輸入的最後四位數字。如何在RegEx模式中使用變量?

在這裏我要取代這個 「(/.(?=.{4})/g, '*')」 '4'與變量 '面具'。類似的東西。

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">

回答

2

使用new RegExp(string)動態構建一個正則表達式。文字/../表格不能與動態內容一起使用。

確保在構建字符串後有一個有效的模式。

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

也看到(投票支持的重複):

+1

非常感謝,夥計。它現在有效。 「文字/../表單不能用於動態內容。」這條線是最有幫助的。 – xyzabc