这里我使用正则表达式模式来屏蔽信用卡号的最后 4 位数字。
$("#ccnumber").html(ccnbr); //ccnumber refers to div ID
$("#ccnumber").text(function(_, val) {
return val.replace(/\d{12}(\d{4})/, "************$1");
});
仅适用于 16 位信用卡号码。但是,我需要用 *
屏蔽传入的号码(可能是 10 或 11)并显示最后 4 位数字。
在 javascript/jQuery 中可能吗?
$('#ccnumber').text(function(_, val) {
return val.replace(/\d{12}(\d{4})/, "************$1");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="ccnumber">1234567891234567</div>
最佳答案
您可以使用:
str = str.replace(/\d(?=\d{4})/g, "*");
屏蔽给定超过 4 位数字中除最后 4 位数字之外的所有数字。
RegEx Demo
说明:
- 此规则使用正向前瞻
(?=\d{4})
,这意味着匹配项后应跟有 4 位数字。 \d
与上述先行条件匹配单个数字,并将其替换为*
关于javascript - 在 JavaScript 中屏蔽最后 4 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545202/