Javascript 向输入字段添加字符串部分的掩码

Javascript 向输入字段添加字符串部分的掩码,javascript,Javascript,如何在用户输入字符串后立即屏蔽输入字段中的字符串?如果输入字符串的长度超过8个字符,我希望始终显示开始。比如说 12 2458 ************************ 星号和剩余字符的总数应与用户输入的整个字符串相匹配 但从我的代码中,我得到了如下信息: 12 2458 * 我希望在一个字段(隐藏输入)中有一个带星号的字符串,并将该字符串存储在另一个字段中,该字段将保存在不带星号的数据库中 <input type="text" name="id_account_shown

如何在用户输入字符串后立即屏蔽输入字段中的字符串?如果输入字符串的长度超过8个字符,我希望始终显示开始。比如说

12 2458 ************************
星号和剩余字符的总数应与用户输入的整个字符串相匹配

但从我的代码中,我得到了如下信息:

12 2458 *
我希望在一个字段(隐藏输入)中有一个带星号的字符串,并将该字符串存储在另一个字段中,该字段将保存在不带星号的数据库中

  <input type="text" name="id_account_shown" class="form-control" placeholder="Enter your account number..." required id="id_account_shown">


  <!-- Call functions each time the value of the input field changes -->
  <script>
  $("#id_account_shown").on("input", function() {
      var accountnumber = document.getElementById('id_account_shown').value;  // form value
      var star = '*';
      var accountnumber_short = accountnumber.substring(0, 8);
      if (accountnumber.length > 8) {
      document.getElementById('id_account_shown').value = accountnumber_short + star; // change data
      }
  });
  </script>

$(“#id#U显示的帐户”)。在(“输入”,函数()上{
var accountnumber=document.getElementById('id\u account\u show')。value;//表单值
var star='*';
var accountnumber_short=accountnumber.substring(0,8);
如果(accountnumber.length>8){
document.getElementById('id\u account\u short+star')。value=accountnumber\u short;//更改数据
}
});

您可以试试这个,希望对您有所帮助

const inputField = $("#id_account_shown");
var inputVal = "";
$("#id_account_shown").keyup(function( event ){
      var value = inputField.val();
      var len = value.length;
      if(len>8){
        // backslash  
        if(event.which == 8){
          inputVal = inputVal.substring(0, len);
          console.log(inputVal);
          return;
        }
                inputVal += value[len-1];
        let newValue =  value.substring(0, 8) + "*".repeat(len-8);
        inputField.val(newValue);
      }
      else{
        inputVal = value;
      }
      console.log(inputVal);
});

您可以试试这个,希望对您有所帮助

const inputField = $("#id_account_shown");
var inputVal = "";
$("#id_account_shown").keyup(function( event ){
      var value = inputField.val();
      var len = value.length;
      if(len>8){
        // backslash  
        if(event.which == 8){
          inputVal = inputVal.substring(0, len);
          console.log(inputVal);
          return;
        }
                inputVal += value[len-1];
        let newValue =  value.substring(0, 8) + "*".repeat(len-8);
        inputField.val(newValue);
      }
      else{
        inputVal = value;
      }
      console.log(inputVal);
});

//创建保存原始文本及其长度的变量
var str=“”,strlen=0;
$(“#id#U显示的帐户”)。在(“输入”,函数()上{
var accountnumber=document.getElementById('id\u account\u show');
strlen=accountnumber.value.length;
//检查是否删除文本
如果(strlen8){
//保留这八个字符,其余的放星星
accountnumber.value=accountnumber.value.replace(/(.+){1,8}.+/gi,“$1*”);
}
//演出
console.log(str);
});

//创建保存原始文本及其长度的变量
var str=“”,strlen=0;
$(“#id#U显示的帐户”)。在(“输入”,函数()上{
var accountnumber=document.getElementById('id\u account\u show');
strlen=accountnumber.value.length;
//检查是否删除文本
如果(strlen8){
//保留这八个字符,其余的放星星
accountnumber.value=accountnumber.value.replace(/(.+){1,8}.+/gi,“$1*”);
}
//演出
console.log(str);
});