메뉴 건너뛰기

조회 수 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. JavaScript 에서 JSON 생성

    Date2016.11.17 Views10323
    Read More
  2. Javascript 로 초성검색하기

    Date2019.01.10 Views2374
    Read More
  3. JavaScript 날짜관련함수

    Date2014.02.27 Views5702
    Read More
  4. Javascript selectbox selected 컨트롤

    Date2018.06.21 Views10058
    Read More
  5. Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항)

    Date2021.03.09 Views2176
    Read More
  6. Javascript - 입력한 년, 월의 마지막 날짜 구하기

    Date2021.03.09 Views224
    Read More
  7. Javascript - 입력받은 숫자를 순서대로 홀짝 별로 배열에 삽입하기

    Date2021.03.09 Views302
    Read More
  8. Javascript - 이미지 미리보기 회전되어 나옴(EXIF)

    Date2021.03.09 Views36370
    Read More
  9. Javascript - 유효성 체크(이메일 정규식, IP 정규식, 비밀번호 등)

    Date2021.03.09 Views729
    Read More
  10. Javascript - 사업자 등록번호 유효성 체크

    Date2021.03.09 Views1089
    Read More
  11. javascript - vanillaJS로 체크박스(checkbox) 제어하기

    Date2021.03.09 Views498
    Read More
  12. Javascript - Free SVG 한국맵 제어 처리

    Date2021.03.09 Views873
    Read More
  13. Javascript - form태그 내부 ajax처리시 2번 전송되는 현상

    Date2021.03.09 Views268
    Read More
  14. Javascript - Calendar 달력 생성하고 제어하기

    Date2021.03.09 Views513
    Read More
  15. input에 background-image 이벤트

    Date2014.03.01 Views5356
    Read More
  16. input 테그안의 숫자 3자리 마다 콤마 찍기

    Date2014.03.01 Views6077
    Read More
  17. input 태그에서 name과 id의 차이

    Date2019.01.16 Views1104
    Read More
  18. input 빈칸 체크

    Date2014.03.01 Views6271
    Read More
  19. input 박스에서 유용한 자바 스크립트

    Date2014.02.27 Views5455
    Read More
  20. input type file multiple list (파일 업로드 리스트 확인)

    Date2016.11.17 Views12437
    Read More
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved