PageSourceSearch

https://seoulyouth.co.kr/core/views/b341c5e331/assets_new/js/user_0.0.3.js

js seoulyouth.co.kr collected 2026-10-08 08:28:50 UTC 15,934 bytes, 409 lines download raw bytes

1jQuery(document).ready(function () {
2
3    jQuery('#login_form').on('submit', function (e) {
4        if (jQuery('input[name=uid]').val() == "") {
5            alert('아이디를 입력해주세요.');
6            jQuery("input[name=uid]").focus();
7            e.preventDefault();
8            return false;
9        }
10
11        if (jQuery('input[name=password]').val() == "") {
12            alert('비밀번호를 입력해주세요.');
13            jQuery("input[name=password]").focus();
14            e.preventDefault();
15            return false;
16        }
17    });
18
19    jQuery("form#registerForm input[name=option5]").change(function () {
20        var selected_value = jQuery(this).val();
21        if (selected_value == '1') {
22            jQuery("form#registerForm dl.select-option5-2").slideUp();
23            jQuery("form#registerForm dl.select-option5-1").slideDown();
24            jQuery("form#registerForm #option7").attr("required", false);
25            jQuery("form#registerForm #option6").attr("required", true);
26            jQuery("form#registerForm #option7 option:selected, form#registerForm #option7-1 option:selected, form#registerForm #option7-2 option:selected, form#registerForm #option7-3 option:selected").each(function () {
27                jQuery(this).removeAttr("selected");
28            });
29            jQuery("form#registerForm #option7_etc").val('');
30        } else if (selected_value == '2') {
31            jQuery("form#registerForm dl.select-option5-2").slideDown();
32            jQuery("form#registerForm dl.select-option5-1").slideUp();
33            jQuery("form#registerForm #option6").attr("required", false);
34            jQuery("form#registerForm #option7").attr("required", true);
35            jQuery("form#registerForm #option6 option:selected, form#registerForm #option6-1 option:selected, form#registerForm #option6-2 option:selected").each(function () {
36                jQuery(this).removeAttr("selected");
37            });
38        }
39    });
40
41    jQuery("form#registerForm input#password,form#registerForm input#password2").keyup(function () { //비번확인
42        var pwd1 = jQuery("form#registerForm input#password").val();
43        var pwd2 = jQuery("form#registerForm input#password2").val();
44
45        if (pwd1 != "" && pwd2 == "") { // 처음 비밀번호
46            jQuery("form#registerForm input#password2").val('');
47            checkValidPW(pwd1);
48
49        } else {
50            if (pwd1 != "" || pwd2 != "") {
51                checkValidPW(pwd1);
52
53                if (pwd1 == pwd2) {
54                    var valid = checkValidPW(pwd1);
55                    jQuery("#alert-success").show();
56                    jQuery("#alert-danger").hide();
57                    if (valid) {
58                        jQuery("#submit").removeAttr("disabled");
59                    }
60
61                } else {
62                    jQuery("#alert-success").hide();
63                    jQuery("#alert-danger").show();
64                    jQuery("#submit").attr("disabled", "disabled");
65                }
66            }
67        }
68    });
69
70    jQuery("form#usereditForm input#newpassword1,form#usereditForm input#newpassword2").keyup(function () { //수정페이지 비번확인
71        var pwd1 = jQuery("form#usereditForm input#newpassword1").val();
72        var pwd2 = jQuery("form#usereditForm input#newpassword2").val();
73
74        if (pwd1 != "" && pwd2 == "") { // 처음 비밀번호
75            jQuery("form#usereditForm input#password2").val('');
76            checkValidPW(pwd1);
77
78        } else {
79            if (pwd1 != "" || pwd2 != "") {
80                checkValidPW(pwd1);
81                if (pwd1 == pwd2) {
82                    jQuery("#alert-success").show();
83                    jQuery("#alert-danger").hide();
84                    jQuery("#submit").removeAttr("disabled");
85
86                } else {
87                    jQuery("#alert-success").hide();
88                    jQuery("#alert-danger").show();
89                    jQuery("#submit").attr("disabled", "disabled");
90                }
91            }
92        }
93
94    });
95
96    jQuery('#selectEmail').change(function () { // 회원가입 이메일 선택
97        jQuery("#selectEmail option:selected").each(function () {
98            if (jQuery(this).val() == '1') { //직접입력일 경우 
99                jQuery("#str_email02").val(''); //값 초기화 
100                jQuery("#str_email02").attr("readonly", false); //활성화 
101            } else { //직접입력이 아닐경우 
102                jQuery("#str_email02").val(jQuery(this).text()); //선택값 입력 
103                jQuery("#str_email02").attr("readonly", true); //비활성화 
104            }
105        });
106    });
107
108    jQuery('form#registerForm select#option1, form#registerForm select#option2, form#registerForm select#option3').change(function () {
109        if (jQuery(this).find("option:selected").val() == '직접입력') {
110            jQuery(this).closest('dd').find("input.etc").css('display', 'inline-block');
111        } else {
112            jQuery(this).closest('dd').find("input.etc").css('display', 'none');
113        }
114    });
115
116    jQuery("form#registerForm dl.select-option5-1, form#registerForm dl.select-option5-2").hide();
117    jQuery("form#registerForm #option6-1, form#registerForm #option6-2").hide();
118
119    jQuery('#option6').change(function () { // 서울시 취창업 프로그램 참여 청년
120        if (jQuery(this).find("option:selected").val() == '직접입력') {
121            jQuery(this).closest('dd').find("input.etc").css('display', 'inline-block');
122        } else {
123            jQuery(this).closest('dd').find("input.etc").css('display', 'none');
124        }
125        
126        var selectedOptionValue = jQuery(this).find("option:selected").data('select');
127        if (selectedOptionValue == '1') {
128            jQuery('form#registerForm dl.select-option5-1 > dd select').not("select#option6").css('display', 'none');
129            jQuery("form#registerForm #option6-1").css('display', 'inline-block');
130        }
131        else if (selectedOptionValue == '7') {
132            jQuery('form#registerForm dl.select-option5-1 > dd select').not("select#option6").css('display', 'none');
133            jQuery("form#registerForm #option6-2").css('display', 'inline-block');
134        }
135        else {
136            jQuery('form#registerForm dl.select-option5-1 > dd select').not("select#option6").css('display', 'none');
137        }
138    });
139
140    jQuery("form#registerForm #option7-1, form#registerForm #option7-2, form#registerForm #option7-3").hide();
141
142
143    jQuery('form#registerForm #option7').change(function () { // 서울시 취창업 프로그램 참여 청년
144        if (jQuery(this).find("option:selected").val() == '직접입력') {
145            jQuery(this).closest('dd').find("input.etc").css('display', 'inline-block');
146        } else {
147            jQuery(this).closest('dd').find("input.etc").css('display', 'none');
148        }
149
150        var selectedOptionValue = jQuery(this).find("option:selected").data('select');
151        if (selectedOptionValue == '1') {
152            jQuery('form#registerForm dl.select-option5-2 > dd select').not("select#option7").css('display', 'none');
153            jQuery("form#registerForm #option7-1").css('display', 'inline-block');
154        }
155        else if (selectedOptionValue == '2') {
156            jQuery('form#registerForm dl.select-option5-2 > dd select').not("select#option7").css('display', 'none');
157            jQuery("form#registerForm #option7-2").css('display', 'inline-block');
158        }
159        else if (selectedOptionValue == '3') {
160            jQuery('form#registerForm dl.select-option5-2 > dd select').not("select#option7").css('display', 'none');
161            jQuery("form#registerForm #option7-3").css('display', 'inline-block');
162        }
163        else {
164            jQuery('form#registerForm dl.select-option5-2 > dd select').not("select#option7").css('display', 'none');
165        }
166    });
167
168
169});
170
171jQuery(document).on('click', '#verify_mobile', function () {
172    var popup = window.open("https://api.jobda.im/kcb/verification/sms", "popup", "width=480, height=850, scrollbars=yes");
173
174    window.addEventListener('message', function (event) {
175        if (event.origin === "https://api.jobda.im" && event.isTrusted && event.returnValue) {
176            var url = '/registry/';
177            var form_data = { "action": 'identity_verification', "token": 'mobile', 'data': event.data, "nonce": ajax_var.nonce };
178            jQuery.ajax({
179                type: "POST",
180                url: ajax_var.url,
181                data: form_data,
182                dataType: "json",
183                success: function (data) {
184                    if (data == 'true') {
185                        window.location.href = url;
186                    }
187                },
188                error: function (jqXHR, textStatus, errorThrown) {
189                    console.log(jqXHR.responseText);
190                }
191            });
192        }
193    }, false);
194});
195
196jQuery(document).on('click', '#verify_ipin', function () {
197    var token = "";
198    var popup = window.open("https://api.jobda.im/kcb/verification/ipin", "popup", "width=480, height=850, scrollbars=yes");
199
200    window.addEventListener('message', function (event) {
201        if (event.origin === "https://api.jobda.im" && event.isTrusted && event.returnValue) {
202            var url = '/registry/';
203            var form_data = { "action": 'identity_verification', "token": 'ipin', 'data': event.data, "nonce": ajax_var.nonce };
204            jQuery.ajax({
205                type: "POST",
206                url: ajax_var.url,
207                data: form_data,
208                dataType: "json",
209                success: function (data) {
210                    if (data == 'true') {
211                        window.location.href = url;
212                    }
213                },
214                error: function (jqXHR, textStatus, errorThrown) {
215                    console.log(jqXHR.responseText);
216                }
217            });
218        }
219    }, false);
220});
221
222function submit_event() {
223    if (jQuery("input#checkuser").val() == '0') {
224        alert('아이디 중복 확인 해주세요.');
225        return false;
226    }
227
228    // 성별 확인
229    if (!jQuery('input[name="gender"]:checked').val()) {
230        alert('성별을 선택해주세요.');
231        return false;
232    }
233
234    // 주소 확인
235    if (!jQuery('#addr_sido').val() || !jQuery('#addr_gugun').val()) {
236        alert('주소(시/도, 구/군)를 선택해주세요.');
237        return false;
238    }
239
240    // 일자리센터 연계 희망 여부
241    if (!jQuery('input[name="job_center_wish"]:checked').val()) {
242        alert('일자리센터 연계 희망 여부를 선택해주세요.');
243        return false;
244    }
245    if (jQuery('input[name="job_center_wish"]:checked').val() === '희망') {
246        if (!jQuery('input[name="third_party_consent"]:checked').val()) {
247            alert('개인정보 제3자 제공 동의 여부를 선택해주세요.');
248            return false;
249        }
250        if (jQuery('input[name="third_party_consent"]:checked').val() === '0') {
251            alert('취업지원 서비스 연계를 희망하시면 제3자 제공에 동의해주세요.');
252            return false;
253        }
254    }
255
256    // 미취업 기간 확인
257    if (!jQuery('input[name="unemployment_period"]:checked').val()) {
258        alert('미취업 기간을 선택해주세요.');
259        return false;
260    }
261
262    // 유입경로 확인
263    if (!jQuery('input[name="option5"]:checked').val()) {
264        alert('유입경로를 선택해주세요.');
265        return false;
266    }
267    var option5Val = jQuery('input[name="option5"]:checked').val();
268    if (option5Val === '1' && jQuery('input[name="option6[]"]:checked').length === 0) {
269        alert('서울시 청년 정책사업 항목을 1개 이상 선택해주세요.');
270        return false;
271    }
272    if (option5Val === '2' && jQuery('input[name="option7[]"]:checked').length === 0) {
273        alert('일반청년 소개채널 항목을 1개 이상 선택해주세요.');
274        return false;
275    }
276}
277
278function check_user() { // 중복아이디 체크
279    uid = jQuery('input[name=uid]').val();
280    if (uid === '') {
281        alert('아이디를 입력해주세요.');
282        return false;
283    }
284    var pattern = /^[a-zA-Z0-9]+$/;
285
286    if (!pattern.test(uid)) {
287        alert('특수문자는 사용할 수 없습니다. 영문과 숫자로 조합 해주세요.');
288        return false;
289    }
290
291    action = "check_user";
292    var form_data = { "action": action, "uid": uid, "nonce": ajax_var.nonce };
293    jQuery.ajax({
294        type: "POST",
295        url: ajax_var.url,
296        data: form_data,
297        dataType: "json",
298        success: function (data) {
299            if (data == 'true') {
300                jQuery('input#checkuser').val('0');
301                alert('이미 가입된 아이디입니다.');
302            } else if (data == 'false') {
303                jQuery('input#checkuser').val('1');
304                alert('사용할 수 있는 아이디입니다.');
305            }
306        },
307        error: function (jqXHR, textStatus, errorThrown) {
308            console.log(jqXHR.responseText);
309        }
310    });
311}
312
313
314function phoneNumber(num) {
315    var value = jQuery(num).val();
316    if (!value) {
317        return "";
318    }
319
320    value = value.replace(/[^0-9]/g, "");
321
322    let result = [];
323    let restNumber = "";
324
325    // 지역번호와 나머지 번호로 나누기
326    if (value.startsWith("02")) {
327        // 서울 02 지역번호
328        result.push(value.substr(0, 2));
329        restNumber = value.substring(2);
330    } else if (value.startsWith("1")) {
331        // 지역 번호가 없는 경우
332        // 1xxx-yyyy
333        restNumber = value;
334    } else {
335        // 나머지 3자리 지역번호
336        // 0xx-yyyy-zzzz
337        result.push(value.substr(0, 3));
338        restNumber = value.substring(3);
339    }
340
341    if (restNumber.length === 7) {
342        // 7자리만 남았을 때는 xxx-yyyy
343        result.push(restNumber.substring(0, 3));
344        result.push(restNumber.substring(3));
345    } else {
346        result.push(restNumber.substring(0, 4));
347        result.push(restNumber.substring(4));
348    }
349
350    jQuery(num).val(result.filter((val) => val).join("-"));
351}
352
353function onlyNum(objEv) {
354    var numPattern = /([^0-9])/;
355    var v = objEv.value;
356    numPattern = v.match(numPattern);
357    if (numPattern != null) {
358        objEv.value = "";
359        objEv.focus();
360        return false;
361    }
362}
363
364function checkValidPW(pwd1) {
365
366    var num = pwd1.search(/[0-9]/g);
367    var eng = pwd1.search(/[a-z]/ig);
368    var spe = pwd1.search(/[`~!@@#$%^&*|₩₩₩'₩";:₩/?]/gi);
369
370    if (pwd1.length < 8 || pwd1.length > 20) {
371        jQuery('.alert_password li.t1').addClass('no');
372        jQuery("#submit").attr("disabled", "disabled");
373        return false;
374    } else {
375        jQuery('.alert_password li.t1').removeClass('no');
376    }
377    if (num < 0 || eng < 0 || spe < 0) {
378        jQuery('.alert_password li.t2').addClass('no');
379        jQuery("#submit").attr("disabled", "disabled");
380        return false;
381    } else {
382        jQuery('.alert_password li.t2').removeClass('no');
383    }
384
385
386    return true;
387}
388
389jQuery(document).ready(function ($) {
390    $('#marketingConsent').change(function () {
391        if ($(this).is(':checked')) {
392            $('#marketingSmsConsent').prop('checked', true);
393            $('#marketingEmailConsent').prop('checked', true);
394        } else {
395            $('#marketingSmsConsent').prop('checked', false);
396            $('#marketingEmailConsent').prop('checked', false);
397        }
398    });
399
400    $('#marketingSmsConsent, #marketingEmailConsent').change(function () {
401        if ($(this).is(':checked')) {
402            $('#marketingConsent').prop('checked', true);
403        } else {
404            if (!$('#marketingSmsConsent').is(':checked') && !$('#marketingEmailConsent').is(':checked')) {
405                $('#marketingConsent').prop('checked', false);
406            }
407        }
408    });
409});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.