KRISTAL Home (Korean)   
KRISTAL 홈 | K-Lab | 자료실 | 연락처
KRISTAL IRMS
활용사이트
라이센스
관련문서
다운로드
K-Lab
기술협력업체
워크숍
관련사이트
오픈소스 정보검색관리시스템 KRISTAL-IRMS
Knowledge Retrieval In Science & Technology Affiliated Literatures - Information Retrieval Management System

HTML Form에서의 특수문자 제거 자바스크립트

질의어 특수문자 제거 시험

검색 인터페이스에서 특수문자를 제거해야 하는 경우가 종종 발생할 수 있다. 특히 제목을 복사하여 검색창에 입력하는 경우에는 쉼표(,), 괄호, 느낌표(!), 물결무늬(~) 등의 특수문자가 입력되는 경우가 있는데 이런 경우에는 KRISTAL의 질의처리기(QP)가 연산자 오류가 반환하게 되어 사용자를 당황시킬 가능성이 있다. 특히 일반 사용자는 이러한 연산자 자체에 대해서 숙지하는 경우가 드물기 때문에 일반적인 검색 인터페이스에서는 입력창으로 받은 질의어에서 특수문자를 제거하는 것이 좋을 것이다.

특수문자를 제거하는 것은 JSP 또는 PHP 등으로 웹서버단에서 처리할 수도 있으며, 여기에서 보여주는 것과 같이 간단한 자바스크립트를 활용하는 방법도 있을 수 있다. 아래 Java Script는 입력된 질의에서 특수문자를 제거한 후 form을 submit하도록 한다.

    <script language="JavaScript" type="text/JavaScript"> <!-- function cleanQueryTerm( formName ) { var specialChars='~`!@#$%%^&*-=+\|[{]};:\',<.>/?'; var str=formName.search_word.value; var i, j; if (str == '') { alert('No Input'); return false; } for (i = 0; i < str.length; i++) { for (j = 0; j < specialChars.length; j++) { if (str.charAt(i) == specialChars.charAt(j)) str = str.replace(str.charAt(i), " "); } } formName.search_word.value = str; } --> </script> <form name="search_form" method="get" action = "clean_query.php" onSubmit='return cleanQueryTerm(document.search_form);'> Query <input type="text" name="search_word"> <input type="submit" value="Search"> </form>

FORM 문에서는 onsubmit에 cleanQueryTerm이라는 스크립트를 위와 같이 지정하여 사용하면 된다. 또한 제거할 특수문자를 추가하거나 삭제하고자 하는 경우에는 special characters (specialChar) 변수를 변경하여 사용할 수 있다.

© 2006. GIIS - Group for Intelligent Information Systems. Some rights may be reserved.
Powered By KRISTAL-IRMS