我正在研究将字符串的某些部分转换为星号的字段。
前四个和最后四个不会仅转换为其他字符。因此,当我到达第五个字符时,它将进行转换,当到达第十个字符时,它将再次正常,字符串长度为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/

10-11 03:03
查看更多