2012-07-17 4 views
0

텍스트 상자 클릭 유효성 검사를 적용하고 텍스트 상자에 HTML 태그가 없도록하려면 < (열린 태그) 및> (닫기 태그). 아래 코드는 작동하지만 빈 문자열과 html의 다른 태그에도 추가 유효성 검사를 추가하려고합니다. 수있는 하나의 요구 사항에 대한 정규식을 수정하는 데 도움주세요. HTML 태그 및 빈 값을 피하기위한 정규 표현식

function htmlValidation() 
{ 
    var re = /(<([^>]+)>)/gi; 

    if (document.getElementById(’<%=TextBox2.ClientID%>’).value.match(re)){ document.getElementById(’<%=TextBox2.ClientID%>’).value = “”; 
      return false; 
     } 
    return true; 
} 

내 의견으로는

+0

귀하의 요구 사항을 정확히 이해하지 못합니다. 특정 태그를 허용하지 않거나 정확히 어떤 행동을 원하십니까? – amon

+0

텍스트 상자의 HTML 태그를 제외하고 싶습니다. "<" and ">"도 허용해서는 안됩니다. – Pratik

+0

왜 [[^ <>] +'가 아닌지 확인하고이 패턴과 일치하지 않는지 확인하십시오. '<>'를 제외하면 HTML 태그도 제외됩니다. – RoadBump

답변

0
$("#<%= btnAdd.ClientID %>").click(function() { 
      var txt = $("#<%= txtBox1.ClientID %>"); 
      var svc = $(txt).val(); //Its Let you know the textbox's value 
      var re = /(<([^>]+)>)/gi; 
      if(txt.val()!=""){ 
      if (!txt.val().match(re)) { 
       //my Operations 
       //goes here 
       }); 
       return false; 
      } 
      else { 
       alert("Invalid Content"); 
      } 
      } 
      else { 
      alert("Blank value selected"); 
      } 

나는 정규식 포함를 확인하기 위해 JQuery와 기능을 사용하고 있습니다. 이 질문은 연결된 질문입니다. Using Jquery to add items in Listbox from Textbox

이제 이것을 최종 답으로 표시 할 수 있습니다.

3

위의 코드를 수정, 난 당신이 그런 일을 확인하려는 경우 당신이 좋은 노력을해야합니다 생각합니다.

텍스트 상자에서 HTML 콘텐츠를 방지하는 대신 다른 솔루션은 html 엔티티 인코딩 텍스트 속성 일 수 있으므로 으로 변환됩니다.

결과는 HTML을 웹 브라우저에서 해석하는 대신 "텍스트"로 렌더링한다는 것입니다.

확인이 MSDN 기사 :

+0

클라이언트 측 사용자 입력의 유효성을 검사하고 다른 프로세스가 중단 될 수 있으므로 허용되지 않는 html 태그를 고려해야합니다. 그래서 나는 한 번의 클릭만으로 해결하려고합니다. 만약 내가 어떤 답변을 여기 definelty 여기에 게시됩니다 – Pratik

+0

@ PratikGupta하지만 당신이 이렇게하면, 당신의 프로세스가 예상대로 작동합니다, 당신은 HTML이 없기 때문에! –

+0

거기에 많은 특별한 장소에서 나는 특별한 처리기를 원하지 않기 때문에 처리 된 계산에 다른 의미를 부여 할 것이므로 서버 측보다는 프론트 엔드에서 필터링하려고합니다. – Pratik