js 如何将字符串中的大于8位的数字保留前3位,后面的替换成“*”

时间:2022-08-08 22:15:48

<script>
var strCheck = function(str){
 var strFormat = "0123456789";
 for(var i=0;i<str.length;i++)
 {
  if(strFormat.indexOf(str.substr(i ,1)) == -1)
  {
   return false;
  }
 }
 return true;
};
function nto(str){
 var a = new Array();
 var b="";
 var k=0; 
 for(var i=0;i<str.length;i++){
  a[i] = str.substr(i,1);
  if(strCheck(a[i])){
   k++;
  }else{
   k=0;
  }
  if(k>=8){
   for(var j=i-4;j<=i;j++){
    a[j] = '*';
   }
  }
 }
 for(var i=0;i<str.length;i++){
  b += a[i]
 }
 return b;
}
var str = '234我不知道2342342342348号汽车的车票是10元还是1234567890元';
alert(nto(str))
</script>