2016-11-16 50 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'的代碼。希望它有幫助;) –

相關問題