2017-04-13 4 views
0

입력란에 입력란이 있는데 여러 단어를 확인해야합니다. 한 단어 만 검사 할 수 있지만 여러 단어를 확인할 수는 없습니다. 단어 목록은 xml에 저장되며 확인해야합니다. 도움이 필요하다. 여기서 MyName은 입력 필드 ID이고 lblMyName은 레이블 ID입니다.javascript를 사용하여 입력란 텍스트 상자에 여러 단어를 확인하십시오.

  if ($("#MyName").val() != '') { 
       $.ajax({ 
        type: "GET", 
        url: "Xml/Badwords.xml", 
        dataType: "xml", 
        success: function (xml) { 

         $(xml).find('Badwords').each(function() { 

          var flag = true; 

          $(this).children().each(function() { 

           var tagName = this.tagName; 
           var val = $(this).text(); 

     if (val.toLowerCase() == $("#MyName").val().toLowerCase())      { 
            $("#lblMyName").css("display", "block"); 

            $("#lblMyName").text("Please refrain from using profanity."); 
            $(".postermyname").text('My Name); 
            flag = false; 
            return false;                  

           } 

답변

1

단어 경계에서 입력 값을 분리 한 다음이를 "불량"단어와 비교해야합니다. 욕설 필터는 일반적으로 정말 좋은 생각이며, 보통 해결보다 더 많은 문제가 발생할 것

if ($("#MyName").val().trim() != '') { 
    $.ajax({ 
     type: "GET", 
     url: "Xml/Badwords.xml", 
     dataType: "xml", 
     success: function(xml) { 

      var input = $("#MyName").val().toLowerCase().split(/\b/), 
       flag = true; 

      $(xml).find('Badwords').each(function() { 
       $(this).children().each(function() { 
        var val = $(this).text().toLowerCase; 

        if (input.indexOf(val) !== -1) { 
         $("#lblMyName").css("display", "block") 
             .text("Please refrain from using profanity."); 
         flag = false; 
        } 
       }); 
      }); 
     }); 
    }); 
}