2016-11-16 1 views
-1

나는 채팅 응용 프로그램을 만들고 사용자가 자신의 메시지에 가질 수있는 연락처 세부 정보를 제거 할 방법을 찾고 있습니다.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

을 주셔서 감사합니다 당신의 대답,하지만 불행히도 이것은 내가 찾고있는 것이 아닙니다. 내 문제는 사용자가 세부 정보를 알려줄지 모르겠다는 것입니다. 거기에 어떤 종류의 패턴 매칭 알고리즘이 있다고 생각 했나요? 예를 들어, Apaches OpenNLP는 언어를 인식하는 Java 라이브러리이며, 예를 들어 문장에서 모든 명사를 추출 할 수 있습니다. – Richard

+0

당신은 그'user' 변수를 만들어서 값으로 채워야 만합니다 .. 나는 데모와 *****에 대한 메시지 문자열'messageStr'을 대체하는 방법에 대한 몇 가지 코드를 추가했습니다. –