javascript 如何在React Native中转换除了最后4位数以外的开始中的数字

ars1skjm  于 2023-05-05  发布在  Java
关注(0)|答案(5)|浏览(192)

在下面的响应中,当我MapbiomatricData.ninId时,我得到了“43445567665”这个值:

biomatricData.ninId = 43445567665

现在我必须只显示最后4位数,其余的应该像*一样
我必须将43445567665更改为以下格式
Like - *******7665

<View style={{ flexDirection: 'row', marginBottom: 10 }}>
  <RegularText text={'Nin Number :  '} textColor='grey' style={{ marginBottom: 5 }} />
  <Text>{biomatricData.ninId}</Text>
</View>
fdx2calv

fdx2calv1#

biomatricData.ninId放入变量中,然后完成下面给出的操作,并使用该变量进行显示。
使用以下正则表达式。

var str = "43445567665";
var replaced = str.replace(/.(?=.{4,}$)/g, '*');
console.log(replaced);
vdgimpew

vdgimpew2#

试试这个代码

var numToBeConverted = 327364829364;
String(numToBeConverted).split("").reverse().map((e, i) => i >= 4 ? "*" : e).reverse().join("");

如果你愿意,你可以把它变成一个函数

function convertToBiometric(num) {
     return String(num).split("").reverse().map((e, i) => i >= 4 ? "*" : e).reverse().join("");
}
f2uvfpb9

f2uvfpb93#

可以使用像这样的Array方法实现。

let numToBeConverted = '43445567665';

function covert(num){
  let arr = Object.values(num);
  return  arr.splice(0, arr.length-4).fill('*').join('')
  + arr.splice(-4).join('');
}

console.log(covert(numToBeConverted));
//output - "*******7665"
nukf8bse

nukf8bse4#

我们可以使用String padding在字符串值中添加 * 符号,以将字符串转换为敏感数据
checkout 文档以应用字符串填充
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

vc9ivgsu

vc9ivgsu5#

你可以用
Replace("InputNumber",Substr("InputNumber",4,6),"******")

相关问题