This commit is contained in:
Jaybe
2025-03-05 14:10:06 +09:00
commit 7a77932344
1905 changed files with 122510 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

+255
View File
@@ -0,0 +1,255 @@
class Chatbot {
#currentSectionIdx;
#selectSectionIdx;
#form;
complete = false;
chat;
audio;
pre_audio;
config = {
'wrap' : '.chat_wrap', //wrap Selector
'backgroundColor': '#f3f3f3', //bgColor
'profileImg': '//static.hotblood.co.kr/event/v_8742/profile.png', //Profile Image
'progressText': 'percent', //진행상황 표시
'chatLoading': true, //로딩 표시
'maxHeight': '50vh', //최대 높이
'autoFocus': true,
'scrollSpeed': 100,
};
constructor(chat, config) {
var _this = this;
this.#form = $('form', $(this.config.wrap).parents('.chatbot'));
this.chat = chat;
if(typeof config != 'undefined') {
$.each(config, function(key, val) {
_this.config[key] = val;
})
}
if(this.config.maxHeight) $(this.config.wrap).css('max-height', this.config.maxHeight);
if(this.config.height) $(this.config.wrap).css('height', this.config.height);
if(this.config.backgroundColor) $(this.config.wrap).css('background-color', this.config.backgroundColor);
$(this.config.wrap).css('overflow-y', 'auto');
this.goToSection(0);
}
goToSection(idx) { //idx 기준 섹션 이동
if(typeof idx == undefined) this.#nextSection();
var selectSection = (typeof this.chat[idx] != "undefined") ? this.chat[idx] : null;
if(selectSection == null) {
console.warn('해당 섹션이 존재하지 않습니다.');
return false;
}
this.#selectSectionIdx = idx;
this.#appendSection(selectSection);
this.#currentSectionIdx = idx;
}
#nextSection() { //다음페이지
this.goToSection(++this.#currentSectionIdx);
}
#prevSection() { //이전페이지
this.goToSection(--this.#currentSectionIdx);
}
#appendSection(selectSection) { //섹션 추가
var $this = this;
var $chat = this.#makeChat(selectSection);
$chat = this.#setLoader($chat);
var $chatbox = $(this.config.wrap).append($chat);
this.scrollToBottom();
$chatbox.find('.loader_box').delay(500).fadeOut(function() {
$(this).remove();
$chatbox.find('.chat_box').css({'display':'inline-block'});
$chatbox.find('.chat_box.right').css({'display':'flex'});
$this.scrollToBottom();
});
function chkAppend(t) {
var append_chk = false;
if($('section:last-child .chat_box', t.config.wrap).css('display') != 'none') {
setTimeout(function() { t.scrollToBottom(); }, 100);
append_chk = true;
}
if(append_chk == false) {
setTimeout(function() { chkAppend(t); }, 500);
}
}
chkAppend(this);
if(this.config.autoFocus)
setTimeout(function() { $chatbox.find('input[type="text"], input[type="number"], input[type="tel"]').focus(); }, 1000);
//audio 자동재생
var audio_file = "";
this.pre_audio = this.audio;
selectSection.forEach((row, i) => {
if(row.audio) audio_file = row.audio;
});
if(audio_file) {
this.audio = new Audio(audio_file);
if(typeof this.pre_audio == 'object') this.pre_audio.pause();
if(this.pre_audio != this.audio) {
this.audio.play();
}
}
var chatbot = this;
$('section:not(:last-child)').find('button, input').click(function(e) { return false; });
$(this.config.wrap).find('input:radio').unbind('click');
$('section:last-child', this.config.wrap).find('input:radio').bind('click', function(e) { //radio 버튼 자동 submit 처리
e.stopPropagation();
chatbot.chatbotSubmit();
var selectedInputName = $(this).attr('name');
$('.chat_box.right label input[name="' + selectedInputName + '"]:not(:checked)').closest('label').css('display', 'none');
$('.chat_box.right label input[name="' + selectedInputName + '"]:checked').closest('label').addClass('on');
});
if(typeof PageOnLoad == 'function') {
var pageOnLoad = new PageOnLoad(this); //각 페이지 유효성 함수 클래스 분리
var method = `load_${this.#selectSectionIdx}`;
if(typeof eval(`pageOnLoad.${method}`) == 'function') setTimeout(function() { eval(`pageOnLoad.${method}()`); }, 1500);
}
}
#setLoader($chat) { //로딩 추가
if(!this.config.chatLoading) return $chat;
var loader = `<div class="loader_box"><span class="loader"><i class="blind">로딩중...</i></span></div>`;
$chat.find('.chat_box').css({'display':'none'});
$chat = $chat.append(loader);
return $chat;
}
#makeChat(section) { //채팅 html 생성
var chat = `<section>`; //질문, 답변을 한개의 컨테이너로 세팅
if(this.config.progressText) { //진행상황 true or text일 경우
var text = '';
switch(this.config.progressText) {
case 'step':
if(this.#currentSectionIdx) text = `${this.#currentSectionIdx}/${this.chat.length-1}`; break;
case true:
case 'percent':
dafault:
if(this.#currentSectionIdx) text = (this.#currentSectionIdx / (this.chat.length-1)) * 100 +'%'; break;
}
if(this.config.progressTextLabel){
if(text) chat += `<div class="progress_box"><span class="progress_txt">${this.config.progressTextLabel} <span class="percent">${text}</span></span></div>`;
}else{
if(text) chat += `<div class="progress_box"><span class="progress_txt">진행상황 <span class="percent">${text}</span></span></div>`;
}
}
chat += `<div class="chat_container">`;
section.forEach((row, idx) => { //한 섹션 내 메세지 세팅
if(idx == 0 && this.config.profileImg)
chat += `<div class="chat_profile"><img src="${this.config.profileImg}"></div>`;
});
chat += `<div class="chat_set">`;
section.forEach((row, idx) => { //한 섹션 내 메세지 세팅
if(typeof row.class == 'undefined') row.class = '';
chat += `<div class="chat_box ${row.type} ${row.class}">`;
chat += this.#setContent(row);
chat += `</div>`;
});
chat += `</div></div>`;
chat += `</section>`;
return $(chat);
}
#setContent(data) { //컨텐츠 세팅
var content = '';
switch(data.type) {
case 'date' : content += this.#getDate();
default : content += this.#getMessage(data);
}
return content;
}
#getMessage(data) { //섹션내 메세지 가져오기
return data.message;
}
#getDate() { //날짜세팅
var date = new Date();
return (`${date.getFullYear()}${date.getMonth()+1}${date.getDate()}${this.#getDay(date)}`);
}
#getDay(date) { //요일세팅
if(typeof date != 'object') return;
var day = date.getDay();
var days = ['일','월','화','수','목','금','토'];
return ` ${days[day]}요일`;
}
scrollToBottom() { //스크롤 하단으로 이동
$(this.config.wrap).animate({ scrollTop: $(this.config.wrap).prop('scrollHeight') }, this.config.scrollSpeed, 'linear');
}
#validator() { //form 유효성 체크
var result = true;
if(typeof PageValidator == 'function') {
var pageValidator = new PageValidator(this.#form); //각 페이지 유효성 함수 클래스 분리
var method = `check_${this.#currentSectionIdx}`;
// console.log(this.#currentSectionIdx, typeof eval(`pageValidator.${method}`))
if(typeof eval(`pageValidator.${method}`) == 'function')
result = eval(`pageValidator.${method}()`);
}
return result;
}
setComplete() { //전체 폼 체크가 완료됐을 경우 호출해야 할 함수
this.complete = true;
}
chatbotSubmit() { //챗봇 폼 전송 캐치
console.log('chatbot Submit');
var valid = this.#validator();
if(!valid) return false;
if(this.complete === true) {
this.#form.submit();
return false;
} else { //complete 되지 않았으면 자동으로 다음페이지 이동
this.#nextSection();
}
}
}
class Validator {
#form;
#data;
constructor(form) {
this.#form = form;
}
check(data) {
this.#data = {"name":data[0],"desc":data[1]};
var result = false;
switch(this.#data.name) {
case 'name' : result = this.#checkName(); break;
case 'age' : result = this.#checkAge(); break;
case 'phone' : result = this.#checkPhone(); break;
case 'agree' : result = this.#checkAgree(); break;
}
return result;
}
#checkName() {
if (!$('[name="' + this.#data.name + '"]', this.#form).val()) {
alert(this.#data.desc + " 항목을 입력해주세요.");
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
}
return true;
}
#checkAge() {
if (!$('[name="' + this.#data.name + '"]', this.#form).val()) {
alert(this.#data.desc + " 항목을 입력해주세요.");
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
}
return true;
}
#checkPhone() {
if (!$('[name="' + this.#data.name + '"]', this.#form).val()) {
alert(this.#data.desc + " 항목을 입력해주세요.");
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
} else if (!$('[name="' + this.#data.name + '"]', this.#form).val().match(/[\d]+/)) {
alert(this.#data.desc + " 항목은 숫자만 입력할 수 있습니다.");
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
} else if (/^010[2-9]{1}[0-9]{3}[0-9]{4}$/.test($('[name="' + this.#data.name + '"]', this.#form).val()) == false) {
alert("올바른 연락처가 아닙니다.");
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
}
return true;
}
#checkAgree() {
if(!$('[name="' + this.#data.name + '"]', this.#form).is(':checked')) {
alert('개인정보 처리방침에 동의하지 않으실 경우 이벤트에 참여하실 수 없습니다.');
$('[name="' + this.#data.name + '"]', this.#form).focus();
return false;
}
return true;
}
}
+13
View File
@@ -0,0 +1,13 @@
$(() => {
let eventPage = $('#tab_04');
if (eventPage.css('display') == 'block') {
let target = $('.formContents.submit');
target.on('click', () => {
try {
Android.makeAndroidEvent();
} catch (e) {
console.log("no Android class exist : ", e.message);
}
});
}
});
+594
View File
@@ -0,0 +1,594 @@
/**
* Hangul.js
* https://github.com/e-/Hangul.js
*
* Copyright 2017, Jaemin Jo
* under the MIT license.
*/
(function () {
'use strict';
/* Disassembled 초성(onset) */
var CHO = [
'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ',
'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ',
'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ',
'ㅍ', 'ㅎ'
],
/* Disassembled 중성(nucleus) */
JUNG = [
'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ',
'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', ['ㅗ', 'ㅏ'], ['ㅗ', 'ㅐ'],
['ㅗ', 'ㅣ'], 'ㅛ', 'ㅜ', ['ㅜ', 'ㅓ'], ['ㅜ', 'ㅔ'], ['ㅜ', 'ㅣ'],
'ㅠ', 'ㅡ', ['ㅡ', 'ㅣ'], 'ㅣ'
],
/* Desassembled 종성(coda) */
JONG = [
'', 'ㄱ', 'ㄲ', ['ㄱ', 'ㅅ'], 'ㄴ', ['ㄴ', 'ㅈ'], ['ㄴ', 'ㅎ'], 'ㄷ', 'ㄹ',
['ㄹ', 'ㄱ'], ['ㄹ', 'ㅁ'], ['ㄹ', 'ㅂ'], ['ㄹ', 'ㅅ'], ['ㄹ', 'ㅌ'], ['ㄹ', 'ㅍ'], ['ㄹ', 'ㅎ'], 'ㅁ',
'ㅂ', ['ㅂ', 'ㅅ'], 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
],
/* 유니코드 한글 시작 위치 */
HANGUL_OFFSET = 0xAC00,
/* 자음 */
CONSONANTS = [
'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄸ',
'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ',
'ㅁ', 'ㅂ', 'ㅃ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ',
'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
],
/* Assembled 초성 */
COMPLETE_CHO = [
'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ',
'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ',
'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
],
/* Assembled 중성 */
COMPLETE_JUNG = [
'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ',
'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ',
'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ',
'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'
],
/* Assembled 종성 */
COMPLETE_JONG = [
'', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ',
'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ',
'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
],
/* 복잡한 자음: [ 자음1, 자음2, 자음1+자음2 ] */
COMPLEX_CONSONANTS = [
['ㄱ', 'ㅅ', 'ㄳ'],
['ㄴ', 'ㅈ', 'ㄵ'],
['ㄴ', 'ㅎ', 'ㄶ'],
['ㄹ', 'ㄱ', 'ㄺ'],
['ㄹ', 'ㅁ', 'ㄻ'],
['ㄹ', 'ㅂ', 'ㄼ'],
['ㄹ', 'ㅅ', 'ㄽ'],
['ㄹ', 'ㅌ', 'ㄾ'],
['ㄹ', 'ㅍ', 'ㄿ'],
['ㄹ', 'ㅎ', 'ㅀ'],
['ㅂ', 'ㅅ', 'ㅄ']
],
/* 복잡한 모음: [모음1, 모음2, 모음1+모음2] */
COMPLEX_VOWELS = [
['ㅗ', 'ㅏ', 'ㅘ'],
['ㅗ', 'ㅐ', 'ㅙ'],
['ㅗ', 'ㅣ', 'ㅚ'],
['ㅜ', 'ㅓ', 'ㅝ'],
['ㅜ', 'ㅔ', 'ㅞ'],
['ㅜ', 'ㅣ', 'ㅟ'],
['ㅡ', 'ㅣ', 'ㅢ']
],
CONSONANTS_HASH,
CHO_HASH,
JUNG_HASH,
JONG_HASH,
COMPLEX_CONSONANTS_HASH,
COMPLEX_VOWELS_HASH
;
function _makeHash(array) {
var length = array.length,
hash = { 0: 0 }
;
for (var i = 0; i < length; i++) {
if (array[i])
hash[array[i].charCodeAt(0)] = i;
}
return hash;
}
CONSONANTS_HASH = _makeHash(CONSONANTS);
CHO_HASH = _makeHash(COMPLETE_CHO);
JUNG_HASH = _makeHash(COMPLETE_JUNG);
JONG_HASH = _makeHash(COMPLETE_JONG);
function _makeComplexHash(array) {
var length = array.length,
hash = {},
code1,
code2
;
for (var i = 0; i < length; i++) {
code1 = array[i][0].charCodeAt(0);
code2 = array[i][1].charCodeAt(0);
if (typeof hash[code1] === 'undefined') {
hash[code1] = {};
}
hash[code1][code2] = array[i][2].charCodeAt(0);
}
return hash;
}
COMPLEX_CONSONANTS_HASH = _makeComplexHash(COMPLEX_CONSONANTS);
COMPLEX_VOWELS_HASH = _makeComplexHash(COMPLEX_VOWELS);
/* c 가 CONSONANTS의 멤버일 경우 true 반환 (c가 자음일 경우 true 반환) */
function _isConsonant(c) {
return typeof CONSONANTS_HASH[c] !== 'undefined';
}
/* c 가 COMPLETE_JUNG의 멤버일 경우 true 반환 (c 가 초성일 경우 true 반환) */
function _isCho(c) {
return typeof CHO_HASH[c] !== 'undefined';
}
/* c 가 COMPLETE_JUNG의 멤버일 경우 true 반환 (c 가 중성일 경우 true 반환) */
function _isJung(c) {
return typeof JUNG_HASH[c] !== 'undefined';
}
/* c 가 COMPLETE_JONG의 멤버일 경우 true 반환 (c 가 종성일 경우 true 반환) */
function _isJong(c) {
return typeof JONG_HASH[c] !== 'undefined';
}
/* c 가 한글일 경우 true 반환 */
function _isHangul(c /* code number */) {
return 0xAC00 <= c && c <= 0xd7a3;
}
/* a와 b가 중성으로서 결합할 수 있는 경우 COMPLEX_VOWELS_HASH[a][b] 값(결합한 종성의 유니코드 값) 반환 */
function _isJungJoinable(a, b) {
return (COMPLEX_VOWELS_HASH[a] && COMPLEX_VOWELS_HASH[a][b]) ? COMPLEX_VOWELS_HASH[a][b] : false;
}
/* a와 b가 종성으로서 결합할 수 있는 경우 COMPLEX_CONSONANTS_HASH[a][b] 값(결합한 종성의 유니코드 값) 반환 */
function _isJongJoinable(a, b) {
return COMPLEX_CONSONANTS_HASH[a] && COMPLEX_CONSONANTS_HASH[a][b] ? COMPLEX_CONSONANTS_HASH[a][b] : false;
}
var disassemble = function (string, grouped) {
/* 입력값이 NULL일 경우 에러 발생 */
if (string === null) {
throw new Error('Arguments cannot be null');
}
/* 입력값이 'object' 타입인 경우 문자열로 병합 */
if (typeof string === 'object') {
string = string.join('');
}
var result = [],
length = string.length,
cho,
jung,
jong,
code,
r
;
/* 모든 문자에 대해 확인 */
for (var i = 0; i < length; i++) {
var temp = [];
code = string.charCodeAt(i); //문자를 유니코드값으로 변환해 code에 저장
/* i번째 문자(code)가 완성된 한글인 경우 */
if (_isHangul(code)) {
code -= HANGUL_OFFSET;
jong = code % 28;
jung = (code - jong) / 28 % 21;
cho = parseInt((code - jong) / 28 / 21);
temp.push(CHO[cho]); // temp 배열에 초성 추가
/* 중성이 object형인 경우 (2 단일 모음의 조합인 경우) */
if (typeof JUNG[jung] === 'object') {
temp = temp.concat(JUNG[jung]); // temp에 해당 중성의 모음들 추가
/* 중성이 단일 모음으로 이루어진 경우 */
} else {
temp.push(JUNG[jung]); // temp에 해당 모음 추가
}
/* 종성이 있는 경우 */
if (jong > 0) {
/* 종성이 object형인 경우 (2 단일 자음의 조합인 경우) */
if (typeof JONG[jong] === 'object') {
temp = temp.concat(JONG[jong]); // temp에 해당 종성의 자음들 추가
/* 종성이 단일 자음으로 이루어진 경우 */
} else {
temp.push(JONG[jong]); // temp에 해당 자음 추가
}
}
/* i번째 문자(code)가 완성된 한글이 아니면서 CONSONANTS의 멤버일 경우 (자음일 경우)*/
} else if (_isConsonant(code)) {
if (_isCho(code)) {
r = CHO[CHO_HASH[code]]; // 초성일 경우 해당 초성을 r에 저장
} else {
r = JONG[JONG_HASH[code]]; // 종성일 경우 해당 종성을 r에 저장
}
if (typeof r === 'string') {
temp.push(r); // r이 string 형일 경우 temp에 추가
} else {
temp = temp.concat(r); // 아닐 경우 temp에 r 배열의 요소들 추가
}
/* i번째 문자(code)가 완성된 한글이 아니면서 COMPLETE_JUNG의 멤버일 경우 (중성일 경우) */
} else if (_isJung(code)) {
r = JUNG[JUNG_HASH[code]]; // r에 해당 중성 저장
if (typeof r === 'string') {
temp.push(r); // r이 string 형일 경우 temp에 추가
} else {
temp = temp.concat(r); // 아닐 경우 temp에 r 배열의 요소들 추가
}
/* i번째 문자(code)가 한글이 아닐 경우 */
} else {
temp.push(string.charAt(i)); // temp에 i번째 문자를 추가
}
if (grouped) result.push(temp); //grouped가 설정된 경우 result에 temp 추가
else result = result.concat(temp); //grouped가 설정되지 않은 경우 result에 temp의 요소들 추가
}
return result;
};
/* string으로 disassemle */
var disassembleToString = function (str) {
if (typeof str !== 'string') {
return ''; // 입력값이 string형이 아닐 경우 빈 문자열 반환
}
str = disassemble(str); // str을 disassemble
return str.join(''); // str을 문자열로 반환
};
/* string으로 assemble */
var assemble = function (array) {
if (typeof array === 'string') {
array = disassemble(array); // 입력값이 string형인 경우 우선 disassemble
}
var result = [],
length = array.length,
code,
stage = 0,
complete_index = -1, //완성된 곳의 인덱스
previous_code,
jong_joined = false
;
function _makeHangul(index) { // complete_index + 1부터 index까지를 greedy하게 한글로 만든다.
var code,
cho,
jung1,
jung2,
jong1 = 0,
jong2,
hangul = ''
;
jong_joined = false;
if (complete_index + 1 > index) {
return;
}
for (var step = 1; ; step++) {
if (step === 1) {
cho = array[complete_index + step].charCodeAt(0); // 첫 자모를 cho에 저장
/* cho가 중성인 경우 */
if (_isJung(cho)) { // 첫번째 것이 모음이면 1) ㅏ같은 경우이거나 2) ㅙ같은 경우이다
/* cho의 다음 자모(jung1)가 범위 내에 있으면서 모음인 경우 */
if (complete_index + step + 1 <= index && _isJung(jung1 = array[complete_index + step + 1].charCodeAt(0))) { //다음것이 있고 모음이면
result.push(String.fromCharCode(_isJungJoinable(cho, jung1))); // cho와 jung1이 중성으로 조합가능한 경우 result에 조합한 문자 추가
complete_index = index; // complete_index에 index값 저장 (index까지 assemble 완료)
return;
/* cho의 다음 자모가 없거나 자음인 경우 (cho와 결합할 것이 없을때)*/
} else {
result.push(array[complete_index + step]); // result에 cho에 해당하는 자모값 추가
complete_index = index; // complete_index에 index값 저장 (index까지 assemble 완료)
return;
}
/* cho가 중성이 아니면서 초성도 아닌 경우 */
} else if (!_isCho(cho)) {
result.push(array[complete_index + step]); // result에 cho에 해당하는 자모값 추가
complete_index = index; // complete_index에 index값 저장 (index까지 assemble 완료)
return;
}
hangul = array[complete_index + step]; // hangul에 첫 자모값 저장
} else if (step === 2) {
jung1 = array[complete_index + step].charCodeAt(0); // jung1에 두번째 자모 저장
/* jung1이 자음인 경우 */
if (_isCho(jung1)) { //두번째 또 자음이 오면 ㄳ 에서 ㅅ같은 경우이다
cho = _isJongJoinable(cho, jung1); // 앞의 초성(cho)과 jung1이 조합 가능한 경우 cho에 해당 조합을 저장한다
hangul = String.fromCharCode(cho); // hangul에 cho를 문자열로 반환해 저장한다.
result.push(hangul); // result에 hangul 추가
complete_index = index; // complete_index에 index값 저장 (index까지 assemble 완료)
return;
/* jung1이 자음이 아닌 경우 */
} else {
hangul = String.fromCharCode((CHO_HASH[cho] * 21 + JUNG_HASH[jung1]) * 28 + HANGUL_OFFSET); // cho와 jung1을 한글로 조합해 문자열로 반환 후 hangul에 저장
}
} else if (step === 3) {
jung2 = array[complete_index + step].charCodeAt(0); // jung2에 세번째 자모 저장
if (_isJungJoinable(jung1, jung2)) {
jung1 = _isJungJoinable(jung1, jung2); // jung1과 jung2가 종성으로서 조합 가능한 경우 조합 해 jung1에 저장
} else {
jong1 = jung2; // jung1과 jung2가 종성으로서 조합 불가능한 경우 jung2값을 jong1에 저장
}
hangul = String.fromCharCode((CHO_HASH[cho] * 21 + JUNG_HASH[jung1]) * 28 + JONG_HASH[jong1] + HANGUL_OFFSET);
} else if (step === 4) {
jong2 = array[complete_index + step].charCodeAt(0); // jong2에 네번째 자모 저장
if (_isJongJoinable(jong1, jong2)) {
jong1 = _isJongJoinable(jong1, jong2); // jong1과 jong2가 종성으로서 조합 가능한 경우 조합 후 jong1에 저장
} else {
jong1 = jong2; // jong1과 jong2가 종성으로서 조합 불가능한 경우 jong2값을 jong1에 저장
}
hangul = String.fromCharCode((CHO_HASH[cho] * 21 + JUNG_HASH[jung1]) * 28 + JONG_HASH[jong1] + HANGUL_OFFSET); // cho, jung1, jong1를 한글로 조합해 문자열로 반환 후 hangul에 저장
} else if (step === 5) {
jong2 = array[complete_index + step].charCodeAt(0); // jong2에 다섯번째 자모 저장
jong1 = _isJongJoinable(jong1, jong2); // jong1과 jong2를 종성으로서 조합해 jong1에 저장
hangul = String.fromCharCode((CHO_HASH[cho] * 21 + JUNG_HASH[jung1]) * 28 + JONG_HASH[jong1] + HANGUL_OFFSET); // cho, jung1, jong1를 한글로 조합해 문자열로 반환 후 hangul에 저장
}
if (complete_index + step >= index) {
result.push(hangul); // result에 hangul 추가 (조합 결과 추가)
complete_index = index;
return;
}
}
}
/* 모든 문자에 대해 확인 */
for (var i = 0; i < length; i++) {
code = array[i].charCodeAt(0);
if (!_isCho(code) && !_isJung(code) && !_isJong(code)) { //초, 중, 종성 다 아니면
_makeHangul(i - 1); // i-1번째 문자까지 우선 한글로 조합한 후
_makeHangul(i); // i번째부터 다시 조합
stage = 0;
continue;
}
//console.log(stage, array[i]);
if (stage === 0) { // 초성이 올 차례
if (_isCho(code)) { // 초성이 오면 아무 문제 없다.
stage = 1;
} else if (_isJung(code)) {
// 중성이오면 ㅐ 또는 ㅘ 인것이다. 바로 구분을 못한다. 따라서 특수한 stage인 stage4로 이동
stage = 4;
}
} else if (stage == 1) { //중성이 올 차례
if (_isJung(code)) { //중성이 오면 문제없음 진행.
stage = 2;
} else { //아니고 자음이오면 ㄻ같은 경우가 있고 ㄹㅋ같은 경우가 있다.
if (_isJongJoinable(previous_code, code)) {
// 합쳐질 수 있다면 ㄻ 같은 경우인데 이 뒤에 모음이 와서 ㄹ마 가 될수도 있고 초성이 올 수도 있다. 따라서 섣불리 완성할 수 없다. 이땐 stage5로 간다.
stage = 5;
} else { //합쳐질 수 없다면 앞 글자 완성 후 여전히 중성이 올 차례
_makeHangul(i - 1);
}
}
} else if (stage == 2) { //종성이 올 차례
if (_isJong(code)) { //종성이 오면 다음엔 자음 또는 모음이 온다.
stage = 3;
} else if (_isJung(code)) { //그런데 중성이 오면 앞의 모음과 합칠 수 있는지 본다.
if (_isJungJoinable(previous_code, code)) { //합칠 수 있으면 여전히 종성이 올 차례고 그대로 진행
} else { // 합칠 수 없다면 오타가 생긴 경우
_makeHangul(i - 1);
stage = 4;
}
} else { // 받침이 안되는 자음이 오면 ㄸ 같은 이전까지 완성하고 다시시작
_makeHangul(i - 1);
stage = 1;
}
} else if (stage == 3) { // 종성이 하나 온 상태.
if (_isJong(code)) { // 또 종성이면 합칠수 있는지 본다.
if (!jong_joined && _isJongJoinable(previous_code, code)) { //합칠 수 있으면 계속 진행. 왜냐하면 이번에 온 자음이 다음 글자의 초성이 될 수도 있기 때문. 대신 이 기회는 한번만
jong_joined = true;
} else { //없으면 한글자 완성
_makeHangul(i - 1);
stage = 1; // 이 종성이 초성이 되고 중성부터 시작
}
} else if (_isCho(code)) { // 초성이면 한글자 완성.
_makeHangul(i - 1);
stage = 1; //이 글자가 초성이되므로 중성부터 시작
} else if (_isJung(code)) { // 중성이면 이전 종성은 이 중성과 합쳐지고 앞 글자는 받침이 없다.
_makeHangul(i - 2);
stage = 2;
}
} else if (stage == 4) { // 중성이 하나 온 상태
if (_isJung(code)) { //중성이 온 경우
if (_isJungJoinable(previous_code, code)) { //이전 중성과 합쳐질 수 있는 경우
_makeHangul(i);
stage = 0;
} else { //중성이 왔지만 못합치는 경우. ㅒㅗ 같은
_makeHangul(i - 1);
}
} else { // 아니면 자음이 온 경우.
_makeHangul(i - 1);
stage = 1;
}
} else if (stage == 5) { // 초성이 연속해서 두개 온 상태 ㄺ
if (_isJung(code)) { //이번에 중성이면 ㄹ가
_makeHangul(i - 2);
stage = 2;
} else {
_makeHangul(i - 1);
stage = 1;
}
}
previous_code = code;
}
_makeHangul(i - 1);
return result.join('');
};
var search = function (a, b) {
/* a 와 b 를 disassemble한 후 문자열로 반환해 ad, bd에 각각 저장 */
var ad = disassemble(a).join(''),
bd = disassemble(b).join('')
;
return ad.indexOf(bd); // ad 에서 bd가 포함되는 인덱스를 찾아 반환
};
var rangeSearch = function (haystack, needle) {
var hex = disassemble(haystack).join(''),
nex = disassemble(needle).join(''),
grouped = disassemble(haystack, true),
re = new RegExp(nex, 'gi'),
indices = [],
result;
if (!needle.length) return [];
while ((result = re.exec(hex))) {
indices.push(result.index);
}
function findStart(index) {
for (var i = 0, length = 0; i < grouped.length; ++i) {
length += grouped[i].length;
if (index < length) return i;
}
}
function findEnd(index) {
for (var i = 0, length = 0; i < grouped.length; ++i) {
length += grouped[i].length;
if (index + nex.length <= length) return i;
}
}
return indices.map(function (i) {
return [findStart(i), findEnd(i)];
});
};
function Searcher(string) {
this.string = string;
this.disassembled = disassemble(string).join('');
}
Searcher.prototype.search = function (string) {
return disassemble(string).join('').indexOf(this.disassembled);
};
/* string이 자음으로 끝나는지 확인 */
var endsWithConsonant = function (string) {
if (typeof string === 'object') {
string = string.join('');
}
var code = string.charCodeAt(string.length - 1);
if (_isHangul(code)) { // 완성된 한글이면
code -= HANGUL_OFFSET;
var jong = code % 28;
if (jong > 0) {
return true;
}
} else if (_isConsonant(code)) { //자음이면
return true;
}
return false;
};
/* string이 target 문자로 끝나는지 확인 */
var endsWith = function (string, target) {
return disassemble(string).pop() === target;
};
var hangul = {
disassemble: disassemble,
d: disassemble, // alias for disassemble
disassembleToString: disassembleToString,
ds: disassembleToString, // alias for disassembleToString
assemble: assemble,
a: assemble, // alias for assemble
search: search,
rangeSearch: rangeSearch,
Searcher: Searcher,
endsWithConsonant: endsWithConsonant,
endsWith: endsWith,
isHangul: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isHangul(c);
},
isComplete: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isHangul(c);
},
isConsonant: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isConsonant(c);
},
isVowel: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isJung(c);
},
isCho: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isCho(c);
},
isJong: function (c) {
if (typeof c === 'string')
c = c.charCodeAt(0);
return _isJong(c);
},
isHangulAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isHangul(str.charCodeAt(i))) return false;
}
return true;
},
isCompleteAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isHangul(str.charCodeAt(i))) return false;
}
return true;
},
isConsonantAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isConsonant(str.charCodeAt(i))) return false;
}
return true;
},
isVowelAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isJung(str.charCodeAt(i))) return false;
}
return true;
},
isChoAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isCho(str.charCodeAt(i))) return false;
}
return true;
},
isJongAll: function (str) {
if (typeof str !== 'string') return false;
for (var i = 0; i < str.length; i++) {
if (!_isJong(str.charCodeAt(i))) return false;
}
return true;
}
};
if (typeof define == 'function' && define.amd) {
define(function () {
return hangul;
});
} else if (typeof module !== 'undefined') {
module.exports = hangul;
} else {
window.Hangul = hangul;
}
})();
+388
View File
@@ -0,0 +1,388 @@
$("<link/>", {
rel: "stylesheet",
type: "text/css",
href: "https://static.hotblood.co.kr/libs/jquery-nice-select/1.1.0/css/nice-select.css"
}).appendTo("head");
!function(e){ //niceSelect Plugin
e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select wide").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e('form').off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e('form').off(".nice_select"),e('form').on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e('form').on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e('form').on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.html();n.find(".current").html(i),n.prev("select").val(s.data("value")).trigger("change")}),e('form').on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}
}(jQuery);
var sojaeji = function(sido, gugun, dong, use_list) {
if(typeof use_list == 'undefined')
var use_list = [];
var obj = this;
//window.onload = function() {
obj.sido = document.getElementById(sido);
obj.gugun = document.getElementById(gugun);
obj.dong = document.getElementById(dong);
obj.update_sido(use_list);
$('select[name="sido"],select[name="sido2"],select[name="sido3"],select[name="gugun"],select[name="gugun2"],select[name="gugun3"],select[name="dong"],select[name="dong2"],select[name="dong3"]').niceSelect();
obj.sido.onchange = function() {
obj.update_gugun.apply(obj);
obj.update_dong.apply(obj);
$('select[name="sido"],select[name="sido2"],select[name="sido3"],select[name="gugun"],select[name="gugun2"],select[name="gugun3"],select[name="dong"],select[name="dong2"],select[name="dong3"]').niceSelect('update');
}
obj.gugun.onchange = function() {
obj.update_dong.apply(obj);
}
//}
}
sojaeji.prototype = {
update_gugun : function() {
if (this.gugun == null) return;
var gugun = this[this.sido.value];
this.gugun.innerHTML = "";
for(var i=0; i<gugun.length; i++) {
var addText = '';
if(i && ((this.sido.value == '서울' && $.inArray(gugun[i], ['관악구', '도봉구', '성북구', '중랑구'])<0)
|| (this.sido.value == '경기' && $.inArray(gugun[i], ['고양시','부천시','안산시','성남시','용인시','평택시','안양시','화성시'])<0))) {
addText = '<u style="text-decoration:none; color:#f00; font-size:90%; margin-left:8px;">*마감임박</u>';
}
this.gugun.options.add(new Option(gugun[i]+addText, gugun[i]));
}
},
update_dong : function() {
if (this.dong == null) return;
var dong = this[this.sido.value+"->"+this.gugun.value];
this.dong.innerHTML = "";
for(var i=0; i<dong.length; i++)
// console.log(dong);
// console.log(this.dong);
this.dong.value = dong ;
},
update_sido : function(use_list) {
if (this.sido == null) return;
var sido = this['시도'];
for(var i=0; i<sido.length; i++) {
if(i != 0 && use_list.length > 0 && $.inArray(sido[i], use_list) < 0) continue;
this.sido.options.add(new Option(sido[i], sido[i]));
}
this.update_gugun();
this.update_dong();
},
'시도' : ['선택하세요','서울','경기','인천','강원','충남','대전','충북', '세종','울산','대구','경북','경남','전남','광주','전북','부산','제주'],
'선택하세요' : ['선택하세요'],
'서울' : ['선택하세요','강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
'경기' : ['선택하세요','가평군','고양시','과천시','광명시','광주시','구리시','군포시','김포시'/*,'남양주시'*/,'남양주시 북부','남양주시 중부','남양주시 남부','동두천시', '동탄신도시', '부천시','성남시','수원시영통구','수원시장안구','수원시팔달구','수원시권선구','시흥시','안산시'/*,'안성시'*/,'안양시','양주시'/*,'양평군'*/,'여주시','연천군','오산시','용인시','의왕시','의정부시','이천시','파주시'/*,'평택시'*/,'포천시','하남시','화성시'],
'인천' : ['선택하세요','강화군','계양구','미추홀구','남동구','동구','부평구','서구','연수구','옹진군','중구'],
'강원' : ['선택하세요',/*'강릉시','고성군','동해시','삼척시','속초시',*/'양구군',/*'양양군','영월군',*/'원주시','인제군',/*'정선군','철원군',*/'춘천시',/*'태백시','평창군',*/'홍천군','화천군',/*'횡성군'*/],
'충남' : ['선택하세요','계룡시','공주시','금산군','논산시'/*,'당진시','보령시'*/,'부여군'/*,'서산시'*/,'서천군','아산시','연기군'/*,'예산군'*/,'천안시'/*,'청양군','홍성군','태안군'*/],
'대전' : ['선택하세요','대덕구','동구','서구','유성구','중구'],
'충북' : ['선택하세요','괴산군',/*'단양군',*/'보은군'/*,'영동군'*/,'옥천군','음성군'/*,'제천시'*/,'증평군','진천군'/*,'청원군'*/,'청주시','충주시'],
// '세종' : ['선택하세요','한솔동','도담동','조치원읍','연기면','연동면','부강면','금남면','장군면','연서면','전의면','전동면','소정면','소담동','보람동','반곡동','대평동','가람동','나성동','새롬동','다정동','어진동','종촌동','고운동','아름동','집현동'],
'세종' : ['선택하세요','세종시'],
'울산' : ['선택하세요','남구','동구','북구','울주군','중구'],
'대구' : ['선택하세요','남구','달서구','달성군','동구','북구','서구','수성구','중구'],
'경북' : ['선택하세요','경산시','경주시',/*'고령군',*/'구미시'/*,'군위군','김천시','문경시','봉화군','상주시','성주군'*/,'안동시','영덕군',/*'영양군','영주시','영천시','예천군','울진군','의성군','청도군',*/'청송군','칠곡군','포항시'],
'경남' : ['선택하세요',/*'거제시',*/'거창군','고성군','김해시','남해군'/*,'밀양시'*/,'사천시','산청군','양산시','의령군','진주시','창녕군','창원시',/*'통영시',*/'하동군','함안군','함양군','합천군'],
'전남' : ['선택하세요','강진군','고흥군','곡성군','광양시','구례군','나주시','담양군','목포시','무안군','보성군','순천시','신안군','여수시','영광군','영암군','완도군','장성군','장흥군','진도군','함평군','해남군','화순군'],
'광주' : ['선택하세요','광산구','남구','동구','북구','서구'],
'전북' : ['선택하세요','고창군','군산시','김제시','남원시','무주군','부안군'/*,'순창군'*/,'완주군','익산시','임실군','장수군','전주시','정읍시','진안군'],
'부산' : ['선택하세요','강서구','금정구','기장군','남구','동구','동래구','진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구'],
'제주' : ['선택하세요','제주시','서귀포시'],
'선택하세요->선택하세요' : '00000',
'서울->선택하세요' : '00000',
'경기->선택하세요' : '00000',
'인천->선택하세요' : '00000',
'강원->선택하세요' : '00000',
'충남->선택하세요' : '00000',
'대전->선택하세요' : '00000',
'충북->선택하세요' : '00000',
'세종->선택하세요' : '00000',
'울산->선택하세요' : '00000',
'대구->선택하세요' : '00000',
'경북->선택하세요' : '00000',
'경남->선택하세요' : '00000',
'전남->선택하세요' : '00000',
'광주->선택하세요' : '00000',
'전북->선택하세요' : '00000',
'부산->선택하세요' : '00000',
'제주->선택하세요' : '00000',
'서울->강남구' : '02001',
'서울->강동구' : '02002',
'서울->강북구' : '02003',
'서울->강서구' : '02004',
'서울->관악구' : '02005',
'서울->광진구' : '02006',
'서울->구로구' : '02007',
'서울->금천구' : '02008',
'서울->노원구' : '02009',
'서울->도봉구' : '02010',
'서울->동대문구' : '02011',
'서울->동작구' : '02012',
'서울->마포구' : '02013',
'서울->서대문구' : '02014',
'서울->서초구' : '02015',
'서울->성동구' : '02016',
'서울->성북구' : '02017',
'서울->송파구' : '02018',
'서울->양천구' : '02019',
'서울->영등포구' : '02020',
'서울->용산구' : '02021',
'서울->은평구' : '02022',
'서울->종로구' : '02023',
'서울->중구' : '02024',
'서울->중랑구' : '02025',
'경기->가평군' : '03101',
'경기->고양시' : '03102',
'경기->과천시' : '03103',
'경기->광명시' : '03104',
'경기->광주시' : '03105',
'경기->구리시' : '03106',
'경기->군포시' : '03107',
'경기->김포시' : '03108',
'경기->남양주시' : '03109',
'경기->남양주시 북부' : '03135',
'경기->남양주시 중부' : '03136',
'경기->남양주시 남부' : '03137',
'경기->동두천시' : '03110',
'경기->동탄신도시' : '03138',
'경기->부천시' : '03111',
'경기->성남시' : '03112',
'경기->수원시영통구' : '03113',
'경기->수원시장안구' : '03114',
'경기->수원시팔달구' : '03115',
'경기->시흥시' : '03116',
'경기->안산시' : '03117',
'경기->안성시' : '03118',
'경기->안양시' : '03119',
'경기->양주시' : '03120',
'경기->양평군' : '03121',
'경기->여주시' : '03122',
'경기->연천군' : '03123',
'경기->오산시' : '03124',
'경기->용인시' : '03125',
'경기->의왕시' : '03126',
'경기->의정부시' : '03127',
'경기->이천시' : '03128',
'경기->파주시' : '03129',
'경기->평택시' : '03130',
'경기->포천시' : '03131',
'경기->하남시' : '03132',
'경기->화성시' : '03133',
'경기->수원시권선구' : '03134',
'인천->강화군' : '03201',
'인천->계양구' : '03202',
'인천->미추홀구': '03203',
'인천->남동구' : '03204',
'인천->동구' : '03205',
'인천->부평구' : '03206',
'인천->서구' : '03207',
'인천->연수구' : '03208',
'인천->옹진군' : '03209',
'인천->중구' : '03210',
'강원->강릉시' : '03301',
'강원->고성군' : '03302',
'강원->동해시' : '03303',
'강원->삼척시' : '03304',
'강원->속초시' : '03305',
'강원->양구군' : '03306',
'강원->양양군' : '03307',
'강원->영월군' : '03308',
'강원->원주시' : '03309',
'강원->인제군' : '03310',
'강원->정선군' : '03311',
'강원->철원군' : '03312',
'강원->춘천시' : '03313',
'강원->태백시' : '03314',
'강원->평창군' : '03315',
'강원->홍천군' : '03316',
'강원->화천군' : '03317',
'강원->횡성군' : '03318',
'충남->계룡시': '04101',
'충남->공주시': '04102',
'충남->금산군': '04103',
'충남->논산시': '04104',
'충남->당진시': '04105',
'충남->보령시': '04106',
'충남->부여군': '04107',
'충남->서산시': '04108',
'충남->서천군': '04109',
'충남->아산시': '04110',
'충남->연기군': '04111',
'충남->예산군': '04112',
'충남->천안시': '04113',
'충남->청양군': '04114',
'충남->태안군': '04115',
'충남->홍성군': '04116',
'대전->대덕구': '04201',
'대전->동구': '04202',
'대전->서구': '04203',
'대전->유성구': '04204',
'대전->중구': '04205',
'충북->괴산군': '04301',
'충북->단양군': '04302',
'충북->보은군': '04303',
'충북->영동군': '04304',
'충북->옥천군': '04305',
'충북->음성군': '04306',
'충북->제천시': '04307',
'충북->증평군': '04308',
'충북->진천군': '04309',
'충북->청원군': '04310',
'충북->청주시': '04311',
'충북->충주시': '04312',
'세종->한솔동':'04401',
'세종->도담동':'04402',
'세종->조치원읍':'04403',
'세종->연기면':'04404',
'세종->연동면':'04405',
'세종->부강면':'04406',
'세종->금남면':'04407',
'세종->장군면':'04408',
'세종->연서면':'04409',
'세종->전의면':'04410',
'세종->전동면':'04411',
'세종->소정면':'04412',
'세종->소담동':'04413',
'세종->보람동':'04414',
'세종->반곡동':'04415',
'세종->대평동':'04416',
'세종->가람동':'04417',
'세종->나성동':'04418',
'세종->새롬동':'04419',
'세종->다정동':'04420',
'세종->어진동':'04421',
'세종->종촌동':'04422',
'세종->고운동':'04423',
'세종->아름동':'04424',
'세종->집현동':'04426',
'세종->세종시':'04427',
'부산->강서구' : '05101',
'부산->금정구' : '05102',
'부산->기장군' : '05103',
'부산->남구' : '05104',
'부산->동구' : '05105',
'부산->동래구' : '05106',
'부산->진구' : '05107',
'부산->북구' : '05108',
'부산->사상구' : '05109',
'부산->사하구' : '05110',
'부산->서구' : '05111',
'부산->수영구' : '05112',
'부산->연제구' : '05113',
'부산->영도구' : '05114',
'부산->중구' : '05115',
'부산->해운대구': '05116',
'울산->남구' : '05201',
'울산->동구' : '05202',
'울산->북구' : '05203',
'울산->울주군' : '05204',
'울산->중구' : '05205',
'대구->남구' :'05301',
'대구->달서구' :'05302',
'대구->달성군' :'05303',
'대구->동구' :'05304',
'대구->북구' :'05305',
'대구->서구' :'05306',
'대구->수성구' :'05307',
'대구->중구' :'05308',
'경북->경산시' :'05401',
'경북->경주시' :'05402',
'경북->고령군' :'05403',
'경북->구미시' :'05404',
'경북->군위군' :'05405',
'경북->김천시' :'05406',
'경북->문경시' :'05407',
'경북->봉화군' :'05408',
'경북->상주시' :'05409',
'경북->성주군' :'05410',
'경북->안동시' :'05411',
'경북->영덕군' :'05412',
'경북->영양군' :'05413',
'경북->영주시' :'05414',
'경북->영천시' :'05415',
'경북->예천군' :'05416',
'경북->울릉군' :'05417',
'경북->울진군' :'05418',
'경북->의성군' :'05419',
'경북->청도군' :'05420',
'경북->청송군' :'05421',
'경북->칠곡군' :'05422',
'경북->포항시' :'05423',
'경남->거제시' :'05501',
'경남->거창군' :'05502',
'경남->고성군' :'05503',
'경남->김해시' :'05504',
'경남->남해군' :'05505',
'경남->밀양시' :'05506',
'경남->사천시' :'05507',
'경남->산청군' :'05508',
'경남->양산시' :'05509',
'경남->의령군' :'05510',
'경남->진주시' :'05511',
'경남->창녕군' :'05512',
'경남->창원시' :'05513',
'경남->통영시' :'05514',
'경남->하동군' :'05515',
'경남->함안군' :'05516',
'경남->함양군' :'05517',
'경남->합천군' :'05518',
'전남->강진군' :'06101',
'전남->고흥군' :'06102',
'전남->곡성군' :'06103',
'전남->광양시' :'06104',
'전남->구례군' :'06105',
'전남->나주시' :'06106',
'전남->담양군' :'06107',
'전남->목포시' :'06108',
'전남->무안군' :'06109',
'전남->보성군' :'06110',
'전남->순천시' :'06111',
'전남->신안군' :'06112',
'전남->여수시' :'06113',
'전남->영광군' :'06114',
'전남->영암군' :'06115',
'전남->완도군' :'06116',
'전남->장성군' :'06117',
'전남->장흥군' :'06118',
'전남->진도군' :'06119',
'전남->함평군' :'06120',
'전남->해남군' :'06121',
'전남->화순군' :'06122',
'광주->광산구' :'06201',
'광주->남구' :'06202',
'광주->동구' :'06203',
'광주->북구' :'06204',
'광주->서구' :'06205',
'전북->고창군' :'06301',
'전북->군산시' :'06302',
'전북->김제시' :'06303',
'전북->남원시' :'06304',
'전북->무주군' :'06305',
'전북->부안군' :'06306',
'전북->순창군' :'06307',
'전북->완주군' :'06308',
'전북->익산시' :'06309',
'전북->임실군' :'06310',
'전북->장수군' :'06311',
'전북->전주시' :'06312',
'전북->정읍시' :'06313',
'전북->진안군' :'06314',
'제주->서귀포시' :'06401',
'제주->제주시' : '06402'
}
+389
View File
@@ -0,0 +1,389 @@
$("<link/>", {
rel: "stylesheet",
type: "text/css",
href: "https://static.hotblood.co.kr/libs/jquery-nice-select/1.1.0/css/nice-select.css"
}).appendTo("head");
!function(e){ //niceSelect Plugin
e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select wide").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e('form').off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e('form').off(".nice_select"),e('form').on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e('form').on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e('form').on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.html();n.find(".current").html(i),n.prev("select").val(s.data("value")).trigger("change")}),e('form').on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}
}(jQuery);
var sojaeji = function(sido, gugun, dong, use_list) {
if(typeof use_list == 'undefined')
var use_list = [];
var obj = this;
//window.onload = function() {
obj.sido = document.getElementById(sido);
obj.gugun = document.getElementById(gugun);
obj.dong = document.getElementById(dong);
obj.update_sido(use_list);
$('select[name="sido"],select[name="sido2"],select[name="sido3"],select[name="gugun"],select[name="gugun2"],select[name="gugun3"],select[name="dong"],select[name="dong2"],select[name="dong3"]').niceSelect();
obj.sido.onchange = function() {
obj.update_gugun.apply(obj);
obj.update_dong.apply(obj);
$('select[name="sido"],select[name="sido2"],select[name="sido3"],select[name="gugun"],select[name="gugun2"],select[name="gugun3"],select[name="dong"],select[name="dong2"],select[name="dong3"]').niceSelect('update');
}
obj.gugun.onchange = function() {
obj.update_dong.apply(obj);
}
//}
}
sojaeji.prototype = {
update_gugun : function() {
if (this.gugun == null) return;
var gugun = this[this.sido.value];
this.gugun.innerHTML = "";
for(var i=0; i<gugun.length; i++) {
var addText = '';
if(i && ((this.sido.value == '서울' && $.inArray(gugun[i], ['관악구', '도봉구', '성북구', '중랑구'])<0)
|| (this.sido.value == '경기' && $.inArray(gugun[i], ['고양시','부천시','안산시','성남시','용인시','평택시','안양시','화성시'])<0))) {
addText = '<u style="text-decoration:none; color:#f00; font-size:90%; margin-left:8px;">*마감임박</u>';
}
this.gugun.options.add(new Option(gugun[i]+addText, gugun[i]));
}
},
update_dong : function() {
if (this.dong == null) return;
var dong = this[this.sido.value+"->"+this.gugun.value];
this.dong.innerHTML = "";
for(var i=0; i<dong.length; i++)
// console.log(dong);
// console.log(this.dong);
this.dong.value = dong ;
},
update_sido : function(use_list) {
if (this.sido == null) return;
var sido = this['시도'];
for(var i=0; i<sido.length; i++) {
if(i != 0 && use_list.length > 0 && $.inArray(sido[i], use_list) < 0) continue;
this.sido.options.add(new Option(sido[i], sido[i]));
}
this.update_gugun();
this.update_dong();
},
'시도' : ['선택하세요','서울','경기','인천','강원','충남','대전','충북', '세종','울산','대구','경북','경남','전남','광주','전북','부산','제주'],
'선택하세요' : ['선택하세요'],
'서울' : ['선택하세요','강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
'경기' : ['선택하세요','가평군','고양시','과천시','광명시','광주시','구리시','군포시','김포시'/*,'남양주시'*/,'남양주시 북부','남양주시 중부','남양주시 남부','동두천시', '동탄신도시', '부천시','성남시','수원시영통구','수원시장안구','수원시팔달구','수원시권선구','시흥시','안산시'/*,'안성시'*/,'안양시','양주시','양평군','여주시','연천군','오산시','용인시','의왕시','의정부시','이천시','파주시','평택시','포천시','하남시','화성시'],
'인천' : ['선택하세요','강화군','계양구','미추홀구','남동구','동구','부평구','서구','연수구','옹진군','중구'],
'강원' : ['선택하세요',/*'강릉시','고성군','동해시','삼척시','속초시',*/'양구군',/*'양양군',/영월군',*/'원주시','인제군',/*'정선군','철원군',*/'춘천시',/*'태백시','평창군',*/'홍천군','화천군','횡성군'],
'충남' : ['선택하세요','계룡시','공주시','금산군','논산시'/*,'당진시','보령시'*/,'부여군'/*,'서산시'*/,'서천군','아산시','연기군'/*,'예산군'*/,'천안시'/*,'청양군','홍성군','태안군'*/],
'대전' : ['선택하세요','대덕구','동구','서구','유성구','중구'],
'충북' : ['선택하세요','괴산군',/*'단양군',*/'보은군','영동군','옥천군','음성군','제천시','증평군','진천군',/*'청원군',*/'청주시'/*,'충주시'*/],
// '세종' : ['선택하세요','한솔동','도담동','조치원읍','연기면','연동면','부강면','금남면','장군면','연서면','전의면','전동면','소정면','소담동','보람동','반곡동','대평동','가람동','나성동','새롬동','다정동','어진동','종촌동','고운동','아름동','집현동'],
'세종' : ['선택하세요','세종시'],
'울산' : ['선택하세요','남구','동구','북구','울주군','중구'],
'대구' : ['선택하세요','남구','달서구','달성군','동구','북구','서구','수성구','중구'],
'경북' : ['선택하세요','경산시','경주시',/*'고령군',*/'구미시',/*'군위군','김천시','문경시','봉화군','상주시',*/'성주군','안동시','영덕군',/*'영양군',*/'영주시','영천시','예천군',/*'울진군','의성군',*/'청도군'/*,'청송군'*/,'칠곡군','포항시'],
'경남' : ['선택하세요',/*'거제시',*/'거창군','고성군','김해시','남해군','밀양시','사천시','산청군','양산시','의령군','진주시','창녕군','창원시',/*'통영시',*/'하동군','함안군','함양군','합천군'],
'전남' : ['선택하세요','강진군','고흥군','곡성군','광양시','구례군','나주시','담양군','목포시','무안군','보성군','순천시','신안군','여수시','영광군','영암군','완도군','장성군','장흥군','진도군','함평군','해남군','화순군'],
'광주' : ['선택하세요','광산구','남구','동구','북구','서구'],
'전북' : ['선택하세요','고창군','군산시','김제시','남원시','무주군','부안군'/*,'순창군'*/,'완주군','익산시','임실군','장수군','전주시','정읍시','진안군'],
'부산' : ['선택하세요','강서구','금정구','기장군','남구','동구','동래구','진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구'],
'제주' : ['선택하세요',/*'제주시',*/'서귀포시'],
'선택하세요->선택하세요' : '00000',
'서울->선택하세요' : '00000',
'경기->선택하세요' : '00000',
'인천->선택하세요' : '00000',
'강원->선택하세요' : '00000',
'충남->선택하세요' : '00000',
'대전->선택하세요' : '00000',
'충북->선택하세요' : '00000',
'세종->선택하세요' : '00000',
'울산->선택하세요' : '00000',
'대구->선택하세요' : '00000',
'경북->선택하세요' : '00000',
'경남->선택하세요' : '00000',
'전남->선택하세요' : '00000',
'광주->선택하세요' : '00000',
'전북->선택하세요' : '00000',
'부산->선택하세요' : '00000',
'제주->선택하세요' : '00000',
'서울->강남구' : '02001',
'서울->강동구' : '02002',
'서울->강북구' : '02003',
'서울->강서구' : '02004',
'서울->관악구' : '02005',
'서울->광진구' : '02006',
'서울->구로구' : '02007',
'서울->금천구' : '02008',
'서울->노원구' : '02009',
'서울->도봉구' : '02010',
'서울->동대문구' : '02011',
'서울->동작구' : '02012',
'서울->마포구' : '02013',
'서울->서대문구' : '02014',
'서울->서초구' : '02015',
'서울->성동구' : '02016',
'서울->성북구' : '02017',
'서울->송파구' : '02018',
'서울->양천구' : '02019',
'서울->영등포구' : '02020',
'서울->용산구' : '02021',
'서울->은평구' : '02022',
'서울->종로구' : '02023',
'서울->중구' : '02024',
'서울->중랑구' : '02025',
'경기->가평군' : '03101',
'경기->고양시' : '03102',
'경기->과천시' : '03103',
'경기->광명시' : '03104',
'경기->광주시' : '03105',
'경기->구리시' : '03106',
'경기->군포시' : '03107',
'경기->김포시' : '03108',
'경기->남양주시' : '03109',
'경기->남양주시 북부' : '03135',
'경기->남양주시 중부' : '03136',
'경기->남양주시 남부' : '03137',
'경기->동두천시' : '03110',
'경기->동탄신도시' : '03138',
'경기->부천시' : '03111',
'경기->성남시' : '03112',
'경기->수원시영통구' : '03113',
'경기->수원시장안구' : '03114',
'경기->수원시팔달구' : '03115',
'경기->시흥시' : '03116',
'경기->안산시' : '03117',
'경기->안성시' : '03118',
'경기->안양시' : '03119',
'경기->양주시' : '03120',
'경기->양평군' : '03121',
'경기->여주시' : '03122',
'경기->연천군' : '03123',
'경기->오산시' : '03124',
'경기->용인시' : '03125',
'경기->의왕시' : '03126',
'경기->의정부시' : '03127',
'경기->이천시' : '03128',
'경기->파주시' : '03129',
'경기->평택시' : '03130',
'경기->포천시' : '03131',
'경기->하남시' : '03132',
'경기->화성시' : '03133',
'경기->수원시권선구' : '03134',
'인천->강화군' : '03201',
'인천->계양구' : '03202',
'인천->미추홀구': '03203',
'인천->남동구' : '03204',
'인천->동구' : '03205',
'인천->부평구' : '03206',
'인천->서구' : '03207',
'인천->연수구' : '03208',
'인천->옹진군' : '03209',
'인천->중구' : '03210',
'강원->강릉시' : '03301',
'강원->고성군' : '03302',
'강원->동해시' : '03303',
'강원->삼척시' : '03304',
'강원->속초시' : '03305',
'강원->양구군' : '03306',
'강원->양양군' : '03307',
'강원->영월군' : '03308',
'강원->원주시' : '03309',
'강원->인제군' : '03310',
'강원->정선군' : '03311',
'강원->철원군' : '03312',
'강원->춘천시' : '03313',
'강원->태백시' : '03314',
'강원->평창군' : '03315',
'강원->홍천군' : '03316',
'강원->화천군' : '03317',
'강원->횡성군' : '03318',
'충남->계룡시': '04101',
'충남->공주시': '04102',
'충남->금산군': '04103',
'충남->논산시': '04104',
'충남->당진시': '04105',
'충남->보령시': '04106',
'충남->부여군': '04107',
'충남->서산시': '04108',
'충남->서천군': '04109',
'충남->아산시': '04110',
'충남->연기군': '04111',
'충남->예산군': '04112',
'충남->천안시': '04113',
'충남->청양군': '04114',
'충남->태안군': '04115',
'충남->홍성군': '04116',
'대전->대덕구': '04201',
'대전->동구': '04202',
'대전->서구': '04203',
'대전->유성구': '04204',
'대전->중구': '04205',
'충북->괴산군': '04301',
'충북->단양군': '04302',
'충북->보은군': '04303',
'충북->영동군': '04304',
'충북->옥천군': '04305',
'충북->음성군': '04306',
'충북->제천시': '04307',
'충북->증평군': '04308',
'충북->진천군': '04309',
'충북->청원군': '04310',
'충북->청주시': '04311',
'충북->충주시': '04312',
'세종->한솔동':'04401',
'세종->도담동':'04402',
'세종->조치원읍':'04403',
'세종->연기면':'04404',
'세종->연동면':'04405',
'세종->부강면':'04406',
'세종->금남면':'04407',
'세종->장군면':'04408',
'세종->연서면':'04409',
'세종->전의면':'04410',
'세종->전동면':'04411',
'세종->소정면':'04412',
'세종->소담동':'04413',
'세종->보람동':'04414',
'세종->반곡동':'04415',
'세종->대평동':'04416',
'세종->가람동':'04417',
'세종->나성동':'04418',
'세종->새롬동':'04419',
'세종->다정동':'04420',
'세종->어진동':'04421',
'세종->종촌동':'04422',
'세종->고운동':'04423',
'세종->아름동':'04424',
'세종->집현동':'04426',
'세종->세종시':'04427',
'부산->강서구' : '05101',
'부산->금정구' : '05102',
'부산->기장군' : '05103',
'부산->남구' : '05104',
'부산->동구' : '05105',
'부산->동래구' : '05106',
'부산->진구' : '05107',
'부산->북구' : '05108',
'부산->사상구' : '05109',
'부산->사하구' : '05110',
'부산->서구' : '05111',
'부산->수영구' : '05112',
'부산->연제구' : '05113',
'부산->영도구' : '05114',
'부산->중구' : '05115',
'부산->해운대구': '05116',
'울산->남구' : '05201',
'울산->동구' : '05202',
'울산->북구' : '05203',
'울산->울주군' : '05204',
'울산->중구' : '05205',
'대구->남구' :'05301',
'대구->달서구' :'05302',
'대구->달성군' :'05303',
'대구->동구' :'05304',
'대구->북구' :'05305',
'대구->서구' :'05306',
'대구->수성구' :'05307',
'대구->중구' :'05308',
'경북->경산시' :'05401',
'경북->경주시' :'05402',
'경북->고령군' :'05403',
'경북->구미시' :'05404',
'경북->군위군' :'05405',
'경북->김천시' :'05406',
'경북->문경시' :'05407',
'경북->봉화군' :'05408',
'경북->상주시' :'05409',
'경북->성주군' :'05410',
'경북->안동시' :'05411',
'경북->영덕군' :'05412',
'경북->영양군' :'05413',
'경북->영주시' :'05414',
'경북->영천시' :'05415',
'경북->예천군' :'05416',
'경북->울릉군' :'05417',
'경북->울진군' :'05418',
'경북->의성군' :'05419',
'경북->청도군' :'05420',
'경북->청송군' :'05421',
'경북->칠곡군' :'05422',
'경북->포항시' :'05423',
'경남->거제시' :'05501',
'경남->거창군' :'05502',
'경남->고성군' :'05503',
'경남->김해시' :'05504',
'경남->남해군' :'05505',
'경남->밀양시' :'05506',
'경남->사천시' :'05507',
'경남->산청군' :'05508',
'경남->양산시' :'05509',
'경남->의령군' :'05510',
'경남->진주시' :'05511',
'경남->창녕군' :'05512',
'경남->창원시' :'05513',
'경남->통영시' :'05514',
'경남->하동군' :'05515',
'경남->함안군' :'05516',
'경남->함양군' :'05517',
'경남->합천군' :'05518',
'전남->강진군' :'06101',
'전남->고흥군' :'06102',
'전남->곡성군' :'06103',
'전남->광양시' :'06104',
'전남->구례군' :'06105',
'전남->나주시' :'06106',
'전남->담양군' :'06107',
'전남->목포시' :'06108',
'전남->무안군' :'06109',
'전남->보성군' :'06110',
'전남->순천시' :'06111',
'전남->신안군' :'06112',
'전남->여수시' :'06113',
'전남->영광군' :'06114',
'전남->영암군' :'06115',
'전남->완도군' :'06116',
'전남->장성군' :'06117',
'전남->장흥군' :'06118',
'전남->진도군' :'06119',
'전남->함평군' :'06120',
'전남->해남군' :'06121',
'전남->화순군' :'06122',
'광주->광산구' :'06201',
'광주->남구' :'06202',
'광주->동구' :'06203',
'광주->북구' :'06204',
'광주->서구' :'06205',
'전북->고창군' :'06301',
'전북->군산시' :'06302',
'전북->김제시' :'06303',
'전북->남원시' :'06304',
'전북->무주군' :'06305',
'전북->부안군' :'06306',
'전북->순창군' :'06307',
'전북->완주군' :'06308',
'전북->익산시' :'06309',
'전북->임실군' :'06310',
'전북->장수군' :'06311',
'전북->전주시' :'06312',
'전북->정읍시' :'06313',
'전북->진안군' :'06314',
'제주->서귀포시' :'06401',
'제주->제주시' : '06402'
}
+396
View File
@@ -0,0 +1,396 @@
$("<link/>", {
rel: "stylesheet",
type: "text/css",
href: "https://static.hotblood.co.kr/libs/jquery-nice-select/1.1.0/css/nice-select.css"
}).appendTo("head");
!function(e){ //niceSelect Plugin
e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select wide").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e('form').off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e('form').off(".nice_select"),e('form').on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e('form').on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e('form').on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.html();n.find(".current").html(i),n.prev("select").val(s.data("value")).trigger("change")}),e('form').on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}
}(jQuery);
/* sojaeji.js -사용 광고주['더메인스튜디오', '패밀리유'] ============!!!*/
var sojaeji = function(sido, gugun, dong, use_list) {
if(typeof use_list == 'undefined')
var use_list = [];
var obj = this;
obj.sido = document.getElementById(sido);
obj.gugun = document.getElementById(gugun);
obj.dong = document.getElementById(dong);
obj.update_sido(use_list);
$(`#${sido},#${gugun}`).niceSelect();
obj.sido.onchange = function() {
obj.update_gugun.apply(obj);
obj.update_dong.apply(obj);
$(`#${sido},#${gugun}`).niceSelect('update');
}
obj.gugun.onchange = function() {
obj.update_dong.apply(obj);
}
}
sojaeji.prototype = {
update_gugun : function() {
if (this.gugun == null) return;
var gugun = this[this.sido.value];
this.gugun.innerHTML = "";
var useAddText =
(typeof hbEvent != "undefined" && typeof hbEvent[0] != "undefined"
&& typeof hbEvent[0].advertiser != 'undefined' && hbEvent[0].advertiser == '패밀리유'
&& typeof hbEvent[0].media != 'undefined' && hbEvent[0].media.match(/카카오/) != null //매체가 카카오면 미사용
)
? false : true;
for(var i=0; i<gugun.length; i++) {
var addText = '';
if(i && useAddText && ((this.sido.value == '서울' && $.inArray(gugun[i], ['관악구', '도봉구', '성북구', '중랑구'])<0)
|| (this.sido.value == '경기' && $.inArray(gugun[i], ['고양시','부천시','안산시','성남시','용인시','평택시','안양시','화성시'])<0))) {
addText = '<u style="text-decoration:none; color:#f00; font-size:90%; margin-left:8px;">*마감임박</u>';
}
this.gugun.options.add(new Option(gugun[i]+addText, gugun[i]));
}
},
update_dong : function() {
if (this.dong == null) return;
var dong = this[this.sido.value+"->"+this.gugun.value];
this.dong.innerHTML = "";
for(var i=0; i<dong.length; i++)
// console.log(dong);
// console.log(this.dong);
this.dong.value = dong ;
},
update_sido : function(use_list) {
if (this.sido == null) return;
var sido = this['시도'];
for(var i=0; i<sido.length; i++) {
if(i != 0 && use_list.length > 0 && $.inArray(sido[i], use_list) < 0) continue;
this.sido.options.add(new Option(sido[i], sido[i]));
}
this.update_gugun();
this.update_dong();
},
'시도' : ['선택하세요','서울','경기','인천','강원','충남','대전','충북', '세종','울산','대구','경북','경남','전남','광주','전북','부산'/*,'제주'*/],
'선택하세요' : ['선택하세요'],
'서울' : ['선택하세요','강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
'경기' : ['선택하세요'/*,'가평군'*/,'고양시','과천시'/*,'광명시'*/,'광주시','구리시','군포시','김포시'/*,'남양주시'*/,'남양주시 북부','남양주시 중부','남양주시 남부','동두천시', '동탄신도시', /*'부천시',*/'성남시','수원시영통구','수원시장안구','수원시팔달구','수원시권선구','시흥시','안산시'/*,'안성시'*/,'안양시','양주시',/*'양평군','여주시',*/'연천군','오산시','용인시','의왕시','의정부시','이천시','파주시','평택시','포천시','하남시','화성시'],
'인천' : ['선택하세요',/*'강화군',*/'계양구','미추홀구','남동구','동구','부평구','서구','연수구','옹진군','중구'],
'강원' : ['선택하세요','강릉시',/*'고성군',*/'동해시',/*'삼척시','속초시','양구군','양양군',영월군',*/'원주시',/*'인제군','정선군','철원군',*/'춘천시',/*'태백시','평창군',*/'홍천군',/*'화천군',*/'횡성군'],
'충남' : ['선택하세요','계룡시','공주시','금산군','논산시','당진시'/*,'보령시'*/,'부여군','서산시'/*,'서천군'*/,'아산시'/*,'연기군','예산군','천안시','천안북구','천안남구','청양군','홍성군'*/,'태안군'],
'대전' : ['선택하세요','대덕구','동구','서구','유성구','중구'],
'충북' : ['선택하세요','괴산군',/*'단양군',*/'보은군',/*'영동군','옥천군','음성군','제천시',*/'증평군','진천군',/*'청원군',*/'청주시'/*,'충주시'*/],
// '세종' : ['선택하세요','한솔동','도담동','조치원읍','연기면','연동면','부강면','금남면','장군면','연서면','전의면','전동면','소정면','소담동','보람동','반곡동','대평동','가람동','나성동','새롬동','다정동','어진동','종촌동','고운동','아름동','집현동'],
'세종' : ['선택하세요','세종시'],
'울산' : ['선택하세요','남구','동구','북구','울주군','중구'],
'대구' : ['선택하세요','남구','달서구','달성군','동구','북구','서구','수성구','중구'],
'경북' : ['선택하세요','경산시',/*'경주시','고령군','구미시','군위군','김천시','문경시','봉화군','상주시','성주군',*/'안동시','영덕군',/*'영양군','영주시','영천시',*/'예천군'/*,'울진군','의성군','청도군','청송군','칠곡군','포항시'*/],
'경남' : ['선택하세요','거제시',/*'거창군','고성군','김해시','남해군',*/'밀양시','사천시','산청군','양산시',/*'의령군',*/'진주시',/*'창녕군','창원시',*/'통영시'/*,'하동군','함안군','함양군','합천군'*/],
'전남' : ['선택하세요',/*'강진군','고흥군','곡성군','광양시','구례군','나주시','담양군','목포시','무안군','보성군',*/'순천시',/*'신안군',*/'여수시',/*'영광군','영암군','완도군','장성군','장흥군','진도군','함평군','해남군','화순군'*/],
'광주' : ['선택하세요','광산구',/*'남구',*/'동구',/*'북구',*/'서구'],
'전북' : ['선택하세요',/*'고창군','군산시',*/'김제시','남원시','무주군',/*'부안군','순창군','완주군','익산시',*/'임실군','장수군'/*,'전주시','정읍시','진안군'*/],
'부산' : ['선택하세요','강서구','금정구','기장군','남구','동구','동래구','진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구'],
'제주' : ['선택하세요','제주시','서귀포시'],
'선택하세요->선택하세요' : '00000',
'서울->선택하세요' : '00000',
'경기->선택하세요' : '00000',
'인천->선택하세요' : '00000',
'강원->선택하세요' : '00000',
'충남->선택하세요' : '00000',
'대전->선택하세요' : '00000',
'충북->선택하세요' : '00000',
'세종->선택하세요' : '00000',
'울산->선택하세요' : '00000',
'대구->선택하세요' : '00000',
'경북->선택하세요' : '00000',
'경남->선택하세요' : '00000',
'전남->선택하세요' : '00000',
'광주->선택하세요' : '00000',
'전북->선택하세요' : '00000',
'부산->선택하세요' : '00000',
'제주->선택하세요' : '00000',
'서울->강남구' : '02001',
'서울->강동구' : '02002',
'서울->강북구' : '02003',
'서울->강서구' : '02004',
'서울->관악구' : '02005',
'서울->광진구' : '02006',
'서울->구로구' : '02007',
'서울->금천구' : '02008',
'서울->노원구' : '02009',
'서울->도봉구' : '02010',
'서울->동대문구' : '02011',
'서울->동작구' : '02012',
'서울->마포구' : '02013',
'서울->서대문구' : '02014',
'서울->서초구' : '02015',
'서울->성동구' : '02016',
'서울->성북구' : '02017',
'서울->송파구' : '02018',
'서울->양천구' : '02019',
'서울->영등포구' : '02020',
'서울->용산구' : '02021',
'서울->은평구' : '02022',
'서울->종로구' : '02023',
'서울->중구' : '02024',
'서울->중랑구' : '02025',
'경기->가평군' : '03101',
'경기->고양시' : '03102',
'경기->과천시' : '03103',
'경기->광명시' : '03104',
'경기->광주시' : '03105',
'경기->구리시' : '03106',
'경기->군포시' : '03107',
'경기->김포시' : '03108',
'경기->남양주시' : '03109',
'경기->남양주시 북부' : '03135',
'경기->남양주시 중부' : '03136',
'경기->남양주시 남부' : '03137',
'경기->동두천시' : '03110',
'경기->동탄신도시' : '03138',
'경기->부천시' : '03111',
'경기->성남시' : '03112',
'경기->수원시영통구' : '03113',
'경기->수원시장안구' : '03114',
'경기->수원시팔달구' : '03115',
'경기->시흥시' : '03116',
'경기->안산시' : '03117',
'경기->안성시' : '03118',
'경기->안양시' : '03119',
'경기->양주시' : '03120',
'경기->양평군' : '03121',
'경기->여주시' : '03122',
'경기->연천군' : '03123',
'경기->오산시' : '03124',
'경기->용인시' : '03125',
'경기->의왕시' : '03126',
'경기->의정부시' : '03127',
'경기->이천시' : '03128',
'경기->파주시' : '03129',
'경기->평택시' : '03130',
'경기->포천시' : '03131',
'경기->하남시' : '03132',
'경기->화성시' : '03133',
'경기->수원시권선구' : '03134',
'인천->강화군' : '03201',
'인천->계양구' : '03202',
'인천->미추홀구': '03203',
'인천->남동구' : '03204',
'인천->동구' : '03205',
'인천->부평구' : '03206',
'인천->서구' : '03207',
'인천->연수구' : '03208',
'인천->옹진군' : '03209',
'인천->중구' : '03210',
'강원->강릉시' : '03301',
'강원->고성군' : '03302',
'강원->동해시' : '03303',
'강원->삼척시' : '03304',
'강원->속초시' : '03305',
'강원->양구군' : '03306',
'강원->양양군' : '03307',
'강원->영월군' : '03308',
'강원->원주시' : '03309',
'강원->인제군' : '03310',
'강원->정선군' : '03311',
'강원->철원군' : '03312',
'강원->춘천시' : '03313',
'강원->태백시' : '03314',
'강원->평창군' : '03315',
'강원->홍천군' : '03316',
'강원->화천군' : '03317',
'강원->횡성군' : '03318',
'충남->계룡시': '04101',
'충남->공주시': '04102',
'충남->금산군': '04103',
'충남->논산시': '04104',
'충남->당진시': '04105',
'충남->보령시': '04106',
'충남->부여군': '04107',
'충남->서산시': '04108',
'충남->서천군': '04109',
'충남->아산시': '04110',
'충남->연기군': '04111',
'충남->예산군': '04112',
// '충남->천안시': '04113',
'충남->청양군': '04114',
'충남->태안군': '04115',
'충남->홍성군': '04116',
'충남->천안남구': '04117',
'충남->천안북구': '04118',
'대전->대덕구': '04201',
'대전->동구': '04202',
'대전->서구': '04203',
'대전->유성구': '04204',
'대전->중구': '04205',
'충북->괴산군': '04301',
'충북->단양군': '04302',
'충북->보은군': '04303',
'충북->영동군': '04304',
'충북->옥천군': '04305',
'충북->음성군': '04306',
'충북->제천시': '04307',
'충북->증평군': '04308',
'충북->진천군': '04309',
'충북->청원군': '04310',
'충북->청주시': '04311',
'충북->충주시': '04312',
'세종->한솔동':'04401',
'세종->도담동':'04402',
'세종->조치원읍':'04403',
'세종->연기면':'04404',
'세종->연동면':'04405',
'세종->부강면':'04406',
'세종->금남면':'04407',
'세종->장군면':'04408',
'세종->연서면':'04409',
'세종->전의면':'04410',
'세종->전동면':'04411',
'세종->소정면':'04412',
'세종->소담동':'04413',
'세종->보람동':'04414',
'세종->반곡동':'04415',
'세종->대평동':'04416',
'세종->가람동':'04417',
'세종->나성동':'04418',
'세종->새롬동':'04419',
'세종->다정동':'04420',
'세종->어진동':'04421',
'세종->종촌동':'04422',
'세종->고운동':'04423',
'세종->아름동':'04424',
'세종->집현동':'04426',
'세종->세종시':'04427',
'부산->강서구' : '05101',
'부산->금정구' : '05102',
'부산->기장군' : '05103',
'부산->남구' : '05104',
'부산->동구' : '05105',
'부산->동래구' : '05106',
'부산->진구' : '05107',
'부산->북구' : '05108',
'부산->사상구' : '05109',
'부산->사하구' : '05110',
'부산->서구' : '05111',
'부산->수영구' : '05112',
'부산->연제구' : '05113',
'부산->영도구' : '05114',
'부산->중구' : '05115',
'부산->해운대구': '05116',
'울산->남구' : '05201',
'울산->동구' : '05202',
'울산->북구' : '05203',
'울산->울주군' : '05204',
'울산->중구' : '05205',
'대구->남구' :'05301',
'대구->달서구' :'05302',
'대구->달성군' :'05303',
'대구->동구' :'05304',
'대구->북구' :'05305',
'대구->서구' :'05306',
'대구->수성구' :'05307',
'대구->중구' :'05308',
'경북->경산시' :'05401',
'경북->경주시' :'05402',
'경북->고령군' :'05403',
'경북->구미시' :'05404',
'경북->군위군' :'05405',
'경북->김천시' :'05406',
'경북->문경시' :'05407',
'경북->봉화군' :'05408',
'경북->상주시' :'05409',
'경북->성주군' :'05410',
'경북->안동시' :'05411',
'경북->영덕군' :'05412',
'경북->영양군' :'05413',
'경북->영주시' :'05414',
'경북->영천시' :'05415',
'경북->예천군' :'05416',
'경북->울릉군' :'05417',
'경북->울진군' :'05418',
'경북->의성군' :'05419',
'경북->청도군' :'05420',
'경북->청송군' :'05421',
'경북->칠곡군' :'05422',
'경북->포항시' :'05423',
'경남->거제시' :'05501',
'경남->거창군' :'05502',
'경남->고성군' :'05503',
'경남->김해시' :'05504',
'경남->남해군' :'05505',
'경남->밀양시' :'05506',
'경남->사천시' :'05507',
'경남->산청군' :'05508',
'경남->양산시' :'05509',
'경남->의령군' :'05510',
'경남->진주시' :'05511',
'경남->창녕군' :'05512',
'경남->창원시' :'05513',
'경남->통영시' :'05514',
'경남->하동군' :'05515',
'경남->함안군' :'05516',
'경남->함양군' :'05517',
'경남->합천군' :'05518',
'전남->강진군' :'06101',
'전남->고흥군' :'06102',
'전남->곡성군' :'06103',
'전남->광양시' :'06104',
'전남->구례군' :'06105',
'전남->나주시' :'06106',
'전남->담양군' :'06107',
'전남->목포시' :'06108',
'전남->무안군' :'06109',
'전남->보성군' :'06110',
'전남->순천시' :'06111',
'전남->신안군' :'06112',
'전남->여수시' :'06113',
'전남->영광군' :'06114',
'전남->영암군' :'06115',
'전남->완도군' :'06116',
'전남->장성군' :'06117',
'전남->장흥군' :'06118',
'전남->진도군' :'06119',
'전남->함평군' :'06120',
'전남->해남군' :'06121',
'전남->화순군' :'06122',
'광주->광산구' :'06201',
'광주->남구' :'06202',
'광주->동구' :'06203',
'광주->북구' :'06204',
'광주->서구' :'06205',
'전북->고창군' :'06301',
'전북->군산시' :'06302',
'전북->김제시' :'06303',
'전북->남원시' :'06304',
'전북->무주군' :'06305',
'전북->부안군' :'06306',
'전북->순창군' :'06307',
'전북->완주군' :'06308',
'전북->익산시' :'06309',
'전북->임실군' :'06310',
'전북->장수군' :'06311',
'전북->전주시' :'06312',
'전북->정읍시' :'06313',
'전북->진안군' :'06314',
'제주->서귀포시' :'06401',
'제주->제주시' : '06402'
}
+364
View File
@@ -0,0 +1,364 @@
var sojaeji = function(sido, gugun, dong) {
var obj = this;
//window.onload = function() {
obj.sido = document.getElementById(sido);
obj.gugun = document.getElementById(gugun);
obj.dong = document.getElementById(dong);
obj.update_sido();
obj.sido.onchange = function() {
obj.update_gugun.apply(obj);
obj.update_dong.apply(obj);
}
obj.gugun.onchange = function() {
obj.update_dong.apply(obj);
}
//}
}
sojaeji.prototype = {
update_gugun : function() {
if (this.gugun == null) return;
var gugun = this[this.sido.value];
this.gugun.innerHTML = "";
for(var i=0; i<gugun.length; i++)
this.gugun.options.add(new Option(gugun[i], gugun[i]));
},
update_dong : function() {
if (this.dong == null) return;
var dong = this[this.sido.value+"->"+this.gugun.value];
this.dong.innerHTML = "";
for(var i=0; i<dong.length; i++)
// console.log(dong);
// console.log(this.dong);
this.dong.value = dong ;
},
update_sido : function() {
if (this.sido == null) return;
var sido = this['시도'];
for(var i=0; i<sido.length; i++)
this.sido.options.add(new Option(sido[i], sido[i]));
this.update_gugun();
this.update_dong();
},
'시도' : ['선택하세요','서울'/*,'경기','인천','강원','충남','대전','충북', '세종','울산','대구','경북', '경남'/*,'전남','광주', '전북'*/,'제주','부산'],
'선택하세요' : ['선택하세요'],
'서울' : ['선택하세요','강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
'경기' : ['선택하세요',/*'가평군',*/'고양시','과천시','광명시','광주시','구리시','군포시','김포시','남양주시',/*'동두천시',*/'부천시','성남시','수원시영통구','수원시장안구','수원시팔달구','수원시권선구'/*,'시흥시','안산시'*/,'안성시','안양시'/*,'양주시'*/,'양평군','여주시','연천군','오산시','용인시','의왕시','의정부시','이천시','파주시'/*,'평택시','포천시'*/,'하남시','화성시'],
'인천' : ['선택하세요','강화군','계양구','미추홀구','남동구','동구','부평구','서구','연수구','옹진군','중구'],
'강원' : ['선택하세요','강릉시',/*'고성군',*/'동해시','삼척시',/*'속초시','양구군',*/'양양군',/*'영월군','원주시','인제군','정선군','철원군','춘천시','태백시',*/'평창군'/*,'홍천군','화천군','횡성군'*/],
'충남' : ['선택하세요','계룡시','공주시','금산군','논산시'/*,'당진군','보령시'*/,'부여군'/*,'서산시','서천군'*/,'아산시','연기군'/*,'예산군'*/,'천안시'/*,'청양군','홍성군','태안군'*/],
'대전' : ['선택하세요','대덕구','동구','서구','유성구','중구'],
'충북' : ['선택하세요','괴산군',/*'단양군',*/'보은군','영동군','옥천군',/*'음성군','제천시',*/'증평군','진천군',/*'청원군',*/'청주시'/*,'충주시'*/],
'세종' : ['선택하세요','한솔동','도담동','조치원읍','연기면','연동면','부강면','금남면','장군면','연서면','전의면','전동면','소정면','소담동','보람동','반곡동','대평동','가람동','나성동','새롬동','다정동','어진동','종촌동','고운동','아름동'],
'울산' : ['선택하세요','남구','동구','북구','울주군','중구'],
'대구' : ['선택하세요','남구','달서구','달성군','동구','북구','서구','수성구','중구'],
'경북' : ['선택하세요','경산시',/*'경주시',*/'고령군',/*'구미시','군위군','김천시','문경시','봉화군','상주시',*/'성주군',/*'안동시','영덕군','영양군','영주시','영천시','예천군','울진군','의성군',*/'청도군',/*'청송군',*/'칠곡군'/*,'포항시'*/],
'경남' : ['선택하세요','거제시','거창군','고성군','김해시','남해군','밀양시','사천시','산청군','양산시','의령군','진주시','창녕군',/*'창원시',*/'통영시','하동군','함안군','함양군','합천군'],
'전남' : ['선택하세요',/*'강진군',*/'고흥군','곡성군','광양시','구례군','나주시','담양군',/*'목포시','무안군',*/'보성군','순천시',/*'신안군',*/'여수시','영광군',/*'영암군','완도군',*/'장성군',/*'장흥군','진도군',*/'함평군',/*'해남군',*/'화순군'],
'광주' : ['선택하세요','광산구','남구','동구','북구','서구'],
'전북' : ['선택하세요'/*,'고창군','군산시'*/,'김제시'/*,'남원시'*/,'무주군'/*,'부안군'*/,'순창군','완주군','익산시','임실군'/*,'장수군'*/,'전주시'/*,'정읍시'*/,'진안군'],
'제주' : ['선택하세요','제주시','서귀포시'],
'부산' : ['선택하세요','강서구','금정구','기장군','남구','동구','동래구','진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구'],
'선택하세요->선택하세요' : '00000',
'서울->선택하세요' : '00000',
'경기->선택하세요' : '00000',
'인천->선택하세요' : '00000',
'강원->선택하세요' : '00000',
'충남->선택하세요' : '00000',
'대전->선택하세요' : '00000',
'충북->선택하세요' : '00000',
'세종->선택하세요' : '00000',
'울산->선택하세요' : '00000',
'대구->선택하세요' : '00000',
'경북->선택하세요' : '00000',
'경남->선택하세요' : '00000',
'전남->선택하세요' : '00000',
'광주->선택하세요' : '00000',
'전북->선택하세요' : '00000',
'제주->선택하세요' : '00000',
'부산->선택하세요' : '00000',
'서울->강남구' : '02001',
'서울->강동구' : '02002',
'서울->강북구' : '02003',
'서울->강서구' : '02004',
'서울->관악구' : '02005',
'서울->광진구' : '02006',
'서울->구로구' : '02007',
'서울->금천구' : '02008',
'서울->노원구' : '02009',
'서울->도봉구' : '02010',
'서울->동대문구' : '02011',
'서울->동작구' : '02012',
'서울->마포구' : '02013',
'서울->서대문구' : '02014',
'서울->서초구' : '02015',
'서울->성동구' : '02016',
'서울->성북구' : '02017',
'서울->송파구' : '02018',
'서울->양천구' : '02019',
'서울->영등포구' : '02020',
'서울->용산구' : '02021',
'서울->은평구' : '02022',
'서울->종로구' : '02023',
'서울->중구' : '02024',
'서울->중랑구' : '02025',
'경기->가평군' : '03101',
'경기->고양시' : '03102',
'경기->과천시' : '03103',
'경기->광명시' : '03104',
'경기->광주시' : '03105',
'경기->구리시' : '03106',
'경기->군포시' : '03107',
'경기->김포시' : '03108',
'경기->남양주시' : '03109',
'경기->동두천시' : '03110',
'경기->부천시' : '03111',
'경기->성남시' : '03112',
'경기->수원시영통구' : '03113',
'경기->수원시장안구' : '03114',
'경기->수원시팔달구' : '03115',
'경기->시흥시' : '03116',
'경기->안산시' : '03117',
'경기->안성시' : '03118',
'경기->안양시' : '03119',
'경기->양주시' : '03120',
'경기->양평군' : '03121',
'경기->여주시' : '03122',
'경기->연천군' : '03123',
'경기->오산시' : '03124',
'경기->용인시' : '03125',
'경기->의왕시' : '03126',
'경기->의정부시' : '03127',
'경기->이천시' : '03128',
'경기->파주시' : '03129',
'경기->평택시' : '03130',
'경기->포천시' : '03131',
'경기->하남시' : '03132',
'경기->화성시' : '03133',
'경기->수원시권선구' : '03134',
'인천->강화군' : '03201',
'인천->계양구' : '03202',
'인천->미추홀구': '03203',
'인천->남동구' : '03204',
'인천->동구' : '03205',
'인천->부평구' : '03206',
'인천->서구' : '03207',
'인천->연수구' : '03208',
'인천->옹진군' : '03209',
'인천->중구' : '03210',
'강원->강릉시' : '03301',
'강원->고성군' : '03302',
'강원->동해시' : '03303',
'강원->삼척시' : '03304',
'강원->속초시' : '03305',
'강원->양구군' : '03306',
'강원->양양군' : '03307',
'강원->영월군' : '03308',
'강원->원주시' : '03309',
'강원->인제군' : '03310',
'강원->정선군' : '03311',
'강원->철원군' : '03312',
'강원->춘천시' : '03313',
'강원->태백시' : '03314',
'강원->평창군' : '03315',
'강원->홍천군' : '03316',
'강원->화천군' : '03317',
'강원->횡성군' : '03318',
'충남->계룡시': '04101',
'충남->공주시': '04102',
'충남->금산군': '04103',
'충남->논산시': '04104',
'충남->당진시': '04105',
'충남->보령시': '04106',
'충남->부여군': '04107',
'충남->서산시': '04108',
'충남->서천군': '04109',
'충남->아산시': '04110',
'충남->연기군': '04111',
'충남->예산군': '04112',
'충남->천안시': '04113',
'충남->청양군': '04114',
'충남->태안군': '04115',
'충남->홍성군': '04116',
'대전->대덕구': '04201',
'대전->동구': '04202',
'대전->서구': '04203',
'대전->유성구': '04204',
'대전->중구': '04205',
'충북->괴산군': '04301',
'충북->단양군': '04302',
'충북->보은군': '04303',
'충북->영동군': '04304',
'충북->옥천군': '04305',
'충북->음성군': '04306',
'충북->제천시': '04307',
'충북->증평군': '04308',
'충북->진천군': '04309',
'충북->청원군': '04310',
'충북->청주시': '04311',
'충북->충주시': '04312',
'세종->한솔동':'04401',
'세종->도담동':'04402',
'세종->조치원읍':'04403',
'세종->연기면':'04404',
'세종->연동면':'04405',
'세종->부강면':'04406',
'세종->금남면':'04407',
'세종->장군면':'04408',
'세종->연서면':'04409',
'세종->전의면':'04410',
'세종->전동면':'04411',
'세종->소정면':'04412',
'세종->소담동':'04413',
'세종->보람동':'04414',
'세종->반곡동':'04415',
'세종->대평동':'04416',
'세종->가람동':'04417',
'세종->나성동':'04418',
'세종->새롬동':'04419',
'세종->다정동':'04420',
'세종->어진동':'04421',
'세종->종촌동':'04422',
'세종->고운동':'04423',
'세종->아름동':'04424',
'부산->강서구' : '05101',
'부산->금정구' : '05102',
'부산->기장군' : '05103',
'부산->남구' : '05104',
'부산->동구' : '05105',
'부산->동래구' : '05106',
'부산->진구' : '05107',
'부산->북구' : '05108',
'부산->사상구' : '05109',
'부산->사하구' : '05110',
'부산->서구' : '05111',
'부산->수영구' : '05112',
'부산->연제구' : '05113',
'부산->영도구' : '05114',
'부산->중구' : '05115',
'부산->해운대구': '05116',
'울산->남구' : '05201',
'울산->동구' : '05202',
'울산->북구' : '05203',
'울산->울주군' : '05204',
'울산->중구' : '05205',
'대구->남구' :'05301',
'대구->달서구' :'05302',
'대구->달성군' :'05303',
'대구->동구' :'05304',
'대구->북구' :'05305',
'대구->서구' :'05306',
'대구->수성구' :'05307',
'대구->중구' :'05308',
'경북->경산시' :'05401',
'경북->경주시' :'05402',
'경북->고령군' :'05403',
'경북->구미시' :'05404',
'경북->군위군' :'05405',
'경북->김천시' :'05406',
'경북->문경시' :'05407',
'경북->봉화군' :'05408',
'경북->상주시' :'05409',
'경북->성주군' :'05410',
'경북->안동시' :'05411',
'경북->영덕군' :'05412',
'경북->영양군' :'05413',
'경북->영주시' :'05414',
'경북->영천시' :'05415',
'경북->예천군' :'05416',
'경북->울릉군' :'05417',
'경북->울진군' :'05418',
'경북->의성군' :'05419',
'경북->청도군' :'05420',
'경북->청송군' :'05421',
'경북->칠곡군' :'05422',
'경북->포항시' :'05423',
'경남->거제시' :'05501',
'경남->거창군' :'05502',
'경남->고성군' :'05503',
'경남->김해시' :'05504',
'경남->남해군' :'05505',
'경남->밀양시' :'05506',
'경남->사천시' :'05507',
'경남->산청군' :'05508',
'경남->양산시' :'05509',
'경남->의령군' :'05510',
'경남->진주시' :'05511',
'경남->창녕군' :'05512',
'경남->창원시' :'05513',
'경남->통영시' :'05514',
'경남->하동군' :'05515',
'경남->함안군' :'05516',
'경남->함양군' :'05517',
'경남->합천군' :'05518',
'전남->강진군' :'06101',
'전남->고흥군' :'06102',
'전남->곡성군' :'06103',
'전남->광양시' :'06104',
'전남->구례군' :'06105',
'전남->나주시' :'06106',
'전남->담양군' :'06107',
'전남->목포시' :'06108',
'전남->무안군' :'06109',
'전남->보성군' :'06110',
'전남->순천시' :'06111',
'전남->신안군' :'06112',
'전남->여수시' :'06113',
'전남->영광군' :'06114',
'전남->영암군' :'06115',
'전남->완도군' :'06116',
'전남->장성군' :'06117',
'전남->장흥군' :'06118',
'전남->진도군' :'06119',
'전남->함평군' :'06120',
'전남->해남군' :'06121',
'전남->화순군' :'06122',
'광주->광산구' :'06201',
'광주->남구' :'06202',
'광주->동구' :'06203',
'광주->북구' :'06204',
'광주->서구' :'06205',
'전북->고창군' :'06301',
'전북->군산시' :'06302',
'전북->김제시' :'06303',
'전북->남원시' :'06304',
'전북->무주군' :'06305',
'전북->부안군' :'06306',
'전북->순창군' :'06307',
'전북->완주군' :'06308',
'전북->익산시' :'06309',
'전북->임실군' :'06310',
'전북->장수군' :'06311',
'전북->전주시' :'06312',
'전북->정읍시' :'06313',
'전북->진안군' :'06314',
'제주->서귀포시' :'06401',
'제주->제주시' : '06402'
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB