2016-11-16 3 views
-1

私はチャットアプリケーションを構築しており、ユーザーがメッセージに持つ連絡先の詳細を削除する方法を探しています。フィルタリングするJavascriptアルゴリズム連絡先の詳細

  • 電話番号
  • :私は次のように一致し、******の行に置き換えて、すべての文字列を削除Javascriptをフィルタに文字列オブジェクトを必要とする。すなわち

    電子メールアドレスなど

  • 場所アドレス

質問

これは可能ですか? 私が利用できる既存の式はありますか? Javascriptには何かがありますか?

はありがとう

答えて

0

何かが見つかった場合は交換してくださいObject.keys(user)を超えるすべての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

はありがとうございましたあなた答えが、残念ながらこれは私が探しているものではありません。私の問題は、私はユーザーが連絡先の詳細を知ることができないということです。そこにパターンマッチングアルゴリズムがあると思っていましたか?たとえば、Apache OpenNLPは言語を認識するJavaライブラリであり、たとえば文からすべての名詞を抽出することができます。 – Richard

+0

あなたはその 'user'変数を作成し、その値で記入する必要があります。私はデモと*****のメッセージ文字列' messageStr'を置き換える方法をいくつかのコードを追加しました。 –

関連する問題