我有一个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>
答案 0 :(得分:3)
好吧,我为你制作了一个正则表达式并更新了你的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位数字替换。