我正在构建一个聊天应用程序,我正在寻找一种方法来删除用户在其消息中可能包含的任何联系人详细信息。
即。我需要过滤 Javascript 中的字符串对象,删除与以下内容匹配的所有字符串,并将其替换为******:
问题
这可能吗? 我可以使用现有的公式吗? Javascript中有什么东西吗?
谢谢
答案 0 :(得分:0)
您可以执行以下操作,使用user
迭代所有Object.keys(user)
属性值,并在找到内容时进行替换:
var user = {
phoneNumbers: '+34123456789',
emailAddresses: 'user@example.com',
elaceAddresses: 'some place address 1234'
},
chat = document.getElementById('chat'),
message = document.getElementById('message');
document.getElementById('submit').addEventListener('click', function(){
var messageStr = message.value,
p = document.createElement('p');
if (messageStr === '') {
return;
}
Object.keys(user).forEach(function(key) {
messageStr = messageStr.replace(user[key], ' ****** ');
});
p.appendChild(document.createTextNode(messageStr));
chat.appendChild(p);
message.value = '';
});
<h2>Chat app</h3>
<div>
<input type="text" id="message" value="My phone is: +34123456789">
<button id="submit">Submit</button>
</div>
<div id="chat"><div>