我正在研究将字符串的某些部分转换为星号的字段。
前四个和最后四个不会仅转换为其他字符。因此,当我到达第五个字符时,它将进行转换,当到达第十个字符时,它将再次正常,字符串长度为13。我的代码存在问题,我无法进行这种处理。
希望你能帮助我。
谢谢。
function asteriskCard(string) {
var lastfour = string.substr(string.length - 4);
var firstfour = string.substr(0, 4);
return firstfour + ' ***** ' + lastfour;
}
$('input').keyup(function(){
$('div').text(asteriskCard($(this).val()))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
<div></div>
最佳答案
试试这个,我认为它是您的寻找。
function asteriskCard(string) {
var lastfour = string.length > 8 ? string.substr(string.length - (string.length - 9)) : "";
var firstfour = string.substr(0, 4);
var dots = '*****'.substring(0,string.length - 4);
var total = (firstfour) + (dots.length > 0 ? ' ' + dots + ' ' : dots) + (lastfour);
return total;
}
$('input').keyup(function() {
$('div').text(asteriskCard($(this).val()))
});
演示
function asteriskCard(string) {
var lastfour = string.length > 8 ? string.substr(string.length - (string.length - 9)) : "";
var firstfour = string.substr(0, 4);
var dots = '*****'.substring(0,string.length - 4);
var total = (firstfour) + (dots.length > 0 ? ' ' + dots + ' ' : dots) + (lastfour);
return total;
}
$('input').keyup(function() {
$('div').text(asteriskCard($(this).val()))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" maxlength="13">
<div></div>
关于javascript - 键入时将字符更改为星号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51608191/