我正在研究将字符串的某些部分转换为星号的字段。 前四个和最后四个不会仅转换为其他字符。因此,当我到达第五个字符时,它将进行转换,当到达第十个字符时,它将再次正常,字符串长度为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>
答案 0 :(得分:2)
尝试一下,我认为这是您想要的。
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>