我需要有关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();">
有人可以帮忙吗?
答案 0 :(得分:13)
要用x
替换除JavaScript中最后四个字符之外的字符串,您可以使用(假设str
保存字符串)...
var trailingCharsIntactCount = 4;
str = new Array(str.length - trailingCharsIntactCount + 1).join('x')
+ str.slice(-trailingCharsIntactCount);
你也可以使用正则表达式......
str = str.replace(/.(?=.{4})/g, 'x');
如果要从变量中添加4
,请使用RegExp
构造函数构造正则表达式。
如果你有幸获得支持,也是......
const trailingCharsIntactCount = 4;
str = 'x'.repeat(str.length - trailingCharsIntactCount)
+ str.slice(-trailingCharsIntactCount);
String.prototype.repeat()
的Polyfill为available。
答案 1 :(得分:5)
这是一个小提示,展示了你的要求:
<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