javascript - 在 JavaScript 中屏蔽最后 4 位数字

标签 javascript jquery regex

这里我使用正则表达式模式来屏蔽信用卡号的最后 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/

相关文章:

javascript - 为什么在使用 jQuery 调整大小时不能使用 CSS 类以百分比指定 div 高度?

javascript - 为什么 ".hasClass()"没有按我的预期工作?

javascript - 有没有办法在指针事件设置为 none 的元素上触发 JavaScript onclick 事件?

regex - Grep 并仅打印字符串的开头和结尾

javascript - MongoDB,将字符串转换为列表

Javascript - 在循环中动态分配 onclick 事件

javascript - 为什么不需要调用jqueryAjax回调函数?

jquery - !function ($) { $(function(){ }) }(window.jQuery) 做什么?

javascript - 数据表页脚回调和内容可编辑

python反斜杠正则表达式的乐趣