我有一个 div,我需要删除除最后四个字符之外的所有字符。我目前正在使用 ReplaceWith 来实现此目的,但它取代了整个内容。
这就是我所拥有的
<div class="field-name-field-credit-card">1111111111111111</div>
$(".field-name-field-credit-card").replaceWith("xxxx xxxx xxxx xxxx");
和我的结果
<div class="field-name-field-credit-card">xxxx xxxx xxxx xxxx</div>
但我希望它是:
<div class="field-name-field-credit-card">xxxx xxxx xxxx 1111</div>
最佳答案
好吧,我为你做了一个正则表达式并更新了你的 fiddle :
$( ".field-name-field-credit-card" ).text(function(_,val) {
return val.replace(/\d{12}(\d{4})/, "xxxx xxxx xxxx $1");
});
但我必须同意Niet - 不要屏蔽信用卡客户端。
如果你真的想屏蔽客户端,这行丑陋的代码就可以做到。
它的作用是将当前元素的文本替换为当前元素的当前文本,并使用 replace
运行正则表达式。正则表达式查找 12 位数字,然后存储接下来的 4 位数字,并用“x”替换 16 位数字的字符串,后跟它保存的最后 4 位数字。
关于javascript - JQuery 替换 CC 号码(最后四位除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982659/