我正在构建一个聊天应用程序,我正在寻找一种方法来删除用户可能在他们的消息中的任何联系方式。
。我需要在Javascript中过滤字符串对象,删除所有匹配以下内容的字符串,并用******行替换它们:
- <
- 电话号码/gh><
- 电子邮件地址/gh><
- 的地方地址/gh>
- 等。
这可能吗?有什么现有的公式可以让我使用吗?Javascript里面有什么东西吗?
谢谢
您可以这样做,用Object.keys(user)
迭代所有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>