2016-11-16 88 views
-1

我正在构建一个聊天应用程序,并且正在寻找一种方法来删除用户可能在其邮件中的任何联系人详细信息。Javascript算法筛选联系人详细信息

即我需要过滤一个字符串对象的Javascript删除匹配下面,并用线的******全部更换字符串:

  • 电话号码
  • 电子邮件地址
  • 广场地址

问题

这可能吗? 我可以使用任何现有的公式吗? Javascript中有什么吗?

谢谢

回答

0

你可以做这样的事情在所有user属性的值与Object.keys(user)迭代,并进行更换,如果事情发现:

var user = { 
 
     phoneNumbers: '+34123456789', 
 
     emailAddresses: '[email protected]', 
 
     elaceAddresses: 'some place address 1234' \t 
 
    }, 
 
    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>

+0

感谢您的回答,但不幸的是,这不是我正在寻找的。我的问题是我不知道用户的联系方式是什么。我在想在那里是否有某种模式匹配算法?例如,Apaches OpenNLP是识别语言的Java库,例如,您可以从句子中提取所有名词。 – Richard

+0

你必须制作这个'user'变量并且用它们的值填充它..我只是添加了一个演示和一些关于如何替换*****的消息字符串'messageStr'的代码。希望它有帮助;) –

相关问题