[英]Replace password key value pair in Json String
这里的问题是,如果我在字符串中找到密码元素,我想将密码值替换为“ **********”。
例如:字符串"{"element" : "test1", "password": "dfsdn653##"}"
应该替换为
"{"element" : "test1", "password": "********"}"
//OR
"{"element" : "test1", "password": ""}"
我尝试使用正则表达式替换字符串,但是没有用。
您可以使用padStart
var a = { "element": "test1", "password": "dfsdn653##" } a.password = "".padStart(a.password.length, '*') console.log(JSON.stringify(a)) //Some fixed length to not give away the actual length a.password = "".padStart(7, '*') console.log(JSON.stringify(a))
您可以使用JSON.parse()
将其转换为对象,然后更改password
创建一个password.length
数组,并使用*
fill()
并将其join()
。
let str = `{"element" : "test1", "password": "dfsdn653##"}`; let obj = JSON.parse(str); obj.password =Array(obj.password.length).fill('*').join(''); console.log(JSON.stringify(obj));
如果使用类似这样的自定义功能,在输入内容的长度上显示字符串'············'
,例如'I Like Pizza'
:
var toAsterisk = function(string) {
var asterisks = "";
for(var i = 0; i > string.length; i++) {
asterisks = asterisks + "·"
}
}
如果您将字符串显示为星号,但是要添加到另一个包含密码的字符串中,那么您将能够拥有隐藏的密码。
(希望这可以帮助!)
尝试这个 :
var jsonStr = '{"element" : "test1", "password": "dfsdn653##"}'; var jsonObj = JSON.parse(jsonStr); if (jsonObj.hasOwnProperty('password')) { var res = jsonObj.password.split('').map(elem => elem = '*').join(''); jsonObj.password = res; } console.log(jsonObj);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.