메뉴 건너뛰기

조회 수 2374 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

어떤 훌륭한 분이 한글을 분리해주는 라이브러리를 맨들어줘서 그분의 라이브러리를 활용한 초성 검색 예제를 만들어 보았다.


라이브러리 : https://github.com/e-/Hangul.js/




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript" src="./hangul.min.js"></script>
</head>
<body>
    검색어 : <input type="text" id="txt" />
    <ul id="find"></ul>
 
    <script>
        // 검색할 배열
        var arr = [
            { name: "홍길동" },
            { name: "한국" },
            { name: "호가든" },
            { name: "프로그램목록" },
            { name: "프로세스" },
            { name: "공통" },
            { name: "아키텍쳐" },
            { name: "앙칼지다" },
            { name: "학사행정" },
            { name: "일반부속" },
            { name: "학습 및 취업" },
            { name: "테이블정의서" },
            { name: "테이저건" },
            { name: "정의서" },
            { name: "현행화" },
            { name: "졸업" },
            { name: "바인더" },
            { name: "대학본부" },
            { name: "에디터" },
            { name: "Visual Studio Code" },
            { name: "Edit Plus" },
            { name: "소나무" },
            { name: "민들레" },
            { name: "나뭇가지" },
            { name: "갑천" },
            { name: "한강" },
            { name: "금강" },
            { name: "도안동" },
            { name: "월평동" },
            { name: "대전광역시" },
            { name: "서울" },
            { name: "경기도" },
            { name: "성남시" },
            { name: "모니터" },
            { name: "이클립스" },
            { name: "탐색기" },
            { name: "엑셀" },
            { name: "크롬" },
            { name: "파이어폭스" },
            { name: "텔레그램" },
            { name: "팟플레이어" },
            { name: "마이크로소프트" },
            { name: "애플" },
            { name: "LG" },
            { name: "삼성" },
            { name: "오라클" },
            { name: "MySQL" },
            { name: "치약" },
            { name: "프린터" },
            { name: "레이저 프린터" },
            { name: "아반떼" },
            { name: "베라크루즈" },
            { name: "자동차공학과" },
            { name: "기아자동차" },
            { name: "현대자동차" },
            { name: "에어컨" }
        ];
 
        // object 에 초성필드 추가 {name:"홍길동", diassembled:"ㅎㄱㄷ"}
        arr.forEach(function (item) {
            var dis = Hangul.disassemble(item.name, true);
            var cho = dis.reduce(function (prev, elem) {
                elem = elem[0] ? elem[0] : elem;
                return prev + elem;
            }, "");
            item.diassembled = cho;
        });
 
        console.log(arr);
 
 
        var ul = document.getElementById('find');
        document.getElementById('txt').addEventListener('keyup', function () {
            while (ul.firstChild) {
                ul.removeChild(ul.firstChild);
            }
 
            var search = this.value;
            var search1 = Hangul.disassemble(search).join("");  // ㄺ=>ㄹㄱ
 
 
            arr
            // 문자열 검색 || 초성검색
            .filter(function (item) {
                return item.name.includes(search) || item.diassembled.includes(search1);
            })
            // 검색결과 ul 아래에 li 로 추가
            .forEach(function (item) {
                var li = document.createElement('li');
                li.innerHTML = item.name;
 
                ul.appendChild(li);
            });
        });
    </script>
</body>
</html>


  1. 체크박스(CheckBox) 전체 선택, 전체 해제 checked

  2. No Image 29Aug
    by
    2018/08/29 Views 2793 

    테이블에서 해당 열의 인덱스 값 얻는 방법

  3. 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징)

  4. No Image 10Jan
    by 조쉬
    2019/01/10 Views 2374 

    Javascript 로 초성검색하기

  5. No Image 20Aug
    by
    2021/08/20 Views 2358 

    날짜 계산하기 (년/월/일 더하기, 빼기)

  6. jqgrid 이용한 그리드 활용하기

  7. No Image 24Jul
    by
    2018/07/24 Views 2294 

    유용한 스크립트 모음

  8. Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항)

  9. No Image 16Jan
    by
    2019/01/16 Views 1992 

    텍스트박스 입력제한(숫자,영문,한글,특수기호)

  10. No Image 27Oct
    by
    2018/10/27 Views 1913 

    자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode()

  11. No Image 04Jul
    by
    2018/07/04 Views 1849 

    반복문 사용할때 태그 식별하기 data-item

  12. 문자열 안에 쌍따옴표, 홑따옴표 표시하는 3가지 방법

  13. No Image 28Sep
    by
    2018/09/28 Views 1738 

    팝업창 차단 "허용 메시지"

  14. No Image 27Oct
    by
    2018/10/27 Views 1732 

    jQuery 엘리먼트 선택

  15. No Image 20Aug
    by
    2021/08/20 Views 1710 

    시간 계산하기 (시/분/초/ 더하기, 빼기)

  16. No Image 29Aug
    by
    2018/08/29 Views 1622 

    key pressing 누르거나 클릭중인 이벤트 예제

  17. No Image 24Jul
    by
    2018/07/24 Views 1596 

    cross site scripting을 막기위한...javascript

  18. No Image 16Jan
    by
    2019/01/16 Views 1588 

    특정 부분 인쇄 자바스크립트

  19. No Image 20Aug
    by
    2021/08/20 Views 1545 

    날짜 계산 (Date) 마지막 날짜(말일)/윤달/윤년 처리하기

  20. No Image 28Sep
    by
    2018/09/28 Views 1528 

    엔터키 / enter key submit form

Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved