使用javascript仅显示银行帐户中的最后4位数字

时间:2012-03-20 21:07:52

标签: javascript

我需要有关Javascript的帮助。我需要替换包含银行帐号的文本字段的最后4位之前的许多字符。我在网上搜索了这个,但找不到一个有效的代码。我确实在stackoverflow上找到了一个关于信用卡的代码,

new String('x', creditCard.Length - 4) + creditCard.Substring(creditCard.Length - 4);

我刚用accounNumObject替换了creditCard:

var accounNumObject = document.getElementById("bankAcctNum")

输入非常简单。

<cfinput type="text" name="bankAcctNum" id="bankAcctNum" maxlength="25" size="25" value="#value#" onblur="hideAccountNum();">

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:13)

要用x替换除JavaScript中最后四个字符之外的字符串,您可以使用(假设str保存字符串)...

var trailingCharsIntactCount = 4;

str = new Array(str.length - trailingCharsIntactCount + 1).join('x')
       + str.slice(-trailingCharsIntactCount);

jsFiddle

你也可以使用正则表达式......

str = str.replace(/.(?=.{4})/g, 'x');

如果要从变量中添加4,请使用RegExp构造函数构造正则表达式。

jsFiddle

如果你有幸获得支持,也是......

const trailingCharsIntactCount = 4;

str = 'x'.repeat(str.length - trailingCharsIntactCount)
        + str.slice(-trailingCharsIntactCount);

String.prototype.repeat()的Polyfill为available

答案 1 :(得分:5)

这是一个小提示,展示了你的要求:

http://jsfiddle.net/eGFqM/1/

<input id='account' value='abcdefghijklmnop'/>
<br/>
<input id='account_changed'/>
var account = document.getElementById('account');
var changed = document.getElementById('account_changed');

changed.value = new Array(account.value.length-3).join('x') + 
    account.value.substr(account.value.length-4, 4);

编辑:更新了小提琴以解决由alex

指出的一个问题

答案 2 :(得分:1)

同意以上所有解决方案。我只是有另一种方法。

FFmpeg -i "https://remote/path/to/index.m3u8" -c copy x.mp4