PageSourceSearch

https://lh.or.kr/main/js/common.js?20261001202919

js lh.or.kr collected 2026-10-01 11:30:45 UTC 12,642 bytes, 400 lines download raw bytes

1// csrf
2$(function () {
3    var token = $("meta[name='_csrf']").attr("content");
4    var header = $("meta[name='_csrf_header']").attr("content");
5    $(document).ajaxSend(function (e, xhr, options) {
6        if (token && header) {
7            xhr.setRequestHeader(header, token);
8        }
9    });
10});
11
12// 페이지 이동
13function goPage(arg) {
14    $('input[name="currentPage"]').val(arg);
15    //$('form').submit();
16    $("#srhForm").submit();
17}
18
19/**
20 * 공통 주소찾기 팝업
21 * @param str1 (우편번호 ID값)
22 * @param str2 (주소 ID값)
23 * @param str3 (주소 상세 ID값)
24 * @param str4 (callback 여부)
25 * 사용법 : jusoPopup("post", "address1", "address2");
26 */
27function jusoPopup(str1, str2, str3, str4) {
28    var pop = window.open("/cmmn/juso/jusoPopup.do?str1=" + str1 + "&str2=" + str2 + "&str3=" + str3 + "&str4=" + str4, "jusoPop", "width=570,height=420, scrollbars=yes");
29}
30
31/**
32* 기본팝업
33* @param url
34* @param popupName
35* @param width
36* @param height
37* @return
38*/
39function popup(url, popupName, width, height){
40	window.open(url, popupName, "width="+width+", height="+height+", scrollbars=yes, resizable=no");
41}
42
43/**
44 * 내용에 주민등록번호 체크
45 * @param str (입력값)
46 * @returns {boolean}
47 */
48function isSsnCheck(str) {
49    var regExp1 = /\d{6}-\d{7}/;
50    var regExp2 = /\d{13}/;
51    var valData = str;
52    valData = valData.replace(/\ /g, "");
53    if (valData.match(regExp1) != null) {
54        alert("내용에 주민등록(" + valData.match(regExp1) + ")번호는 등록될 수 없습니다..");
55        str.focus();
56        return false;
57    }
58
59    if (valData.match(regExp2) != null) {
60        alert("내용에 주민등록(" + valData.match(regExp2) + ")번호는 등록될 수 없습니다.");
61        str.focus();
62        return false;
63    }
64    return true;
65}
66
67
68//검색 정제 (번지 빼기, 띄어쓰기)
69function regExpCheckJuso(strKeyword) {
70    var tempKeyword = strKeyword;
71    var charKeyword;
72    var tempLength;
73
74    //주소일 경우 글자뒤에 번지 x, 주소와 숫자 사이에 한칸 띄우기
75    var reqExp1 = /([0-9]|번지)$/;
76    var reqExp2 = /번지$/;
77    var checkChar = /^([0-9]|-|\.|\·)$/;
78    var checkEng = /^[A-Za-z]+$/;
79
80    if (reqExp1.test(strKeyword)) {
81        // 글자 뒤의 번지 삭제
82        tempKeyword = strKeyword.split(reqExp2).join("");
83
84        // 주소와 숫자 사이 한칸 띄우기
85        tempLength = tempKeyword.length;
86
87        for (var i = tempLength - 1; i >= 0; i--) {
88            charKeyword = tempKeyword.charAt(i);
89
90            if (!checkChar.test(charKeyword)) {
91                if (charKeyword != " " && !checkEng.test(charKeyword)) {
92                    tempKeyword = insertString(tempKeyword, i + 1, ' ');
93                }
94                break;
95            }
96        }
97    }
98
99    var regExp3 = /[0-9]*[ ]*(대로|로|길)[ ]+[0-9]+[ ]*([가-힝]|[ ])*[ ]*(로|길)/;
100    var regExp4 = /[ ]/;
101
102    var k = tempKeyword.match(regExp3);
103
104    if (k != null) {
105        var tmp = k[0].split(regExp4).join("");
106
107        tempKeyword = tempKeyword.replace(regExp3, tmp);
108    }
109
110    return tempKeyword;
111}
112
113function insertString(key, index, string) {
114    if (index > 0)
115        return key.substring(0, index) + string + key.substring(index, key.length);
116    else
117        return string + key;
118}
119
120function validateJuso(value) {
121    value = value.replace(/(^\s*)|(\s*$)/g, ""); //앞뒤 공백 제거
122    return value.split(/[%]/).join("");  //특수문자제거
123}
124
125/**
126 * 주민등록번호 체크
127 * @param str
128 * @returns {Boolean}
129 */
130function userSsnCheck(str) {
131
132    //------------------------
133    //내용에 주민등록번호 체크
134    //-------------------------
135    var regExp1 = /\d{6}-\d{7}/g;
136    var regExp2 = /\d{13}/g;
137    var regExp3 = /\d{6} \d{7}/g;
138    var regExp4 = /\d{6}  \d{7}/g;
139    var valData = str.value;
140
141    var myResult = valData.match(regExp1);
142    if (myResult != null) {
143        for (var cnt = 0; cnt < myResult.length; cnt++) {
144            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
145            var ChkSsn2 = ChkSsn1.replace('-', '');
146
147            if (isSSNChk(ChkSsn2) == true) {
148                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
149                str.focus();
150                return false;
151            }
152        }
153
154    }
155
156    var myResult = valData.match(regExp2);
157    if (myResult != null) {
158        for (var cnt = 0; cnt < myResult.length; cnt++) {
159            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
160            if (isSSNChk(ChkSsn1) == true) {
161                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
162                str.focus();
163                return false;
164            }
165        }
166
167    }
168
169    var myResult = valData.match(regExp3);
170    if (myResult != null) {
171        for (var cnt = 0; cnt < myResult.length; cnt++) {
172            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
173            var ChkSsn2 = ChkSsn1.replace(' ', '');
174
175            if (isSSNChk(ChkSsn2) == true) {
176                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
177                str.focus();
178                return false;
179            }
180        }
181
182    }
183
184    var myResult = valData.match(regExp4);
185    if (myResult != null) {
186        for (var cnt = 0; cnt < myResult.length; cnt++) {
187            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
188            var ChkSsn2 = ChkSsn1.replace('  ', '');
189
190            if (isSSNChk(ChkSsn2) == true) {
191                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
192                str.focus();
193                return false;
194            }
195        }
196
197    }
198    return true;
199}
200
201/**
202 * 실제 주민등록번호인치 체크
203 * @param str
204 * @returns {Boolean}
205 */
206function isSSNChk(str) {
207    var idtot = 0;
208    var idadd = "234567892345";
209
210    for (var i = 0; i < 12; i++) {
211        idtot = idtot + parseInt(str.substring(i, i + 1)) * parseInt(idadd.substring(i, i + 1));
212    }
213    idtot = 11 - (idtot % 11);
214    if (idtot == 10) {
215        idtot = 0;
216    } else if (idtot == 11) {
217        idtot = 1;
218    }
219    if (parseInt(str.substring(12, 13)) != idtot)
220        return false;
221    return true;
222}
223
224//숫자만 입력
225function fncOnlyNumber(obj) {
226    var regex = /[^0-9]/g
227    var str = obj.value;
228    obj.value = str.replace(regex, '');
229}
230
231//전화번호 정규식 체크 함수(-가 들어가는 입력양식 체크)
232function checkDash_TelNo(val) {
233    var flag = true;
234    var regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
235    if (!regExp.test(val)) {
236        flag = false;
237    }
238    return flag;
239}
240
241//휴대전화번호 정규식 체크 함수(-가 들어가는 입력양식 체크)
242function checkDash_HpNo2(val){
243    var flag = true;
244    var regExp = /^\d{3}-\d{3,4}-\d{4}$/;
245    if(!regExp.test(val)){
246        flag = false;
247    }
248    return flag;
249}
250
251//이메일 정규식 체크 함수
252function check_Email(val) {
253    var flag = true;
254    var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
255    if (!regExp.test(val)) {
256        flag = false;
257    }
258    return flag;
259}
260
261// 메일선택시
262function fnc_mailChange(arg, arg2) {
263    var sel_f = document.getElementById(arg2);
264    if (arg == "") {
265        sel_f.readOnly = false;
266        sel_f.focus();
267        sel_f.display = "block";
268    } else {
269        sel_f.readOnly = true;
270        sel_f.display = "none";
271    }
272    sel_f.value = arg;
273}
274
275// 사업자등록번호 자리수
276function isLicense(strCorpNum) {
277    var chkRule = "137137135";
278    var step1, step2, step3, step4, step5, step6, step7;
279
280    step1 = 0;
281    for (var i = 0; i < 7; i++) {
282        step1 = step1 + (strCorpNum.substring(i, i + 1) * chkRule.substring(i, i + 1));
283    }
284
285    step2 = step1 % 10;
286    step3 = (strCorpNum.substring(7, 8) * chkRule.substring(7, 8)) % 10;
287    step4 = strCorpNum.substring(8, 9) * chkRule.substring(8, 9);
288    step5 = Math.round(step4 / 10 - 0.5);
289    step6 = step4 - (step5 * 10);
290    step7 = (10 - ((step2 + step3 + step5 + step6) % 10)) % 10;
291
292    if (strCorpNum.substring(9, 10) != step7) {
293        return false;
294    }
295}
296
297function strim(str) {
298    return str != null ? str.trim() : "";
299}
300
301$(function(){
302    if($(".date_box").length){
303        $.datepicker.setDefaults
304        ({
305            monthNamesShort     : ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
306            dayNamesMin         : ['일', '월', '화', '수', '목', '금', '토'],
307            dateFormat          : 'yy-mm-dd',
308            showMonthAfterYear  : true,
309            changeYear          : true,
310            changeMonth         : true,
311            yearRange           : "c-100:c+10",
312            showOn              : 'both'
313        });
314    
315        $('.date_box').datepicker
316        ({
317            format:"YYYY-MM-DD",
318            buttonText: '<i class="ri-calendar-todo-fill"><span class="sr_only">달력 보기</span></i>'
319        });
320    }
321})
322
323function fn_cool_chk(checkText, menu_name){
324	var chkrtn = false;
325	$.ajax({
326		type : "POST",
327		url : "/user/CoolFilter/check",
328		data : {checkText : checkText, menu_name : menu_name},
329		async : false,
330		success: function(data) {
331			if(data.contentCnt > 0){
332                var chk = confirm("등록데이터 중 개인정보가 검출되었습니다.\n\n검출항목 : "+data.contentType+"\n\n확인을 누르시면 강제 등록합니다.");
333                //write_end();
334                chkrtn = !chk;
335			}
336		},
337		error: function() {
338			//console.log('오류');
339		}
340	});
341	return chkrtn;
342}
343
344function fn_cool_file_chk(cfDir, filename, realname, menu_name){
345	var chkrtn = false;
346	$.ajax({
347		type : "POST",
348		url : "/user/CoolFilter/checkFile",
349		data : {cfDir : cfDir,
350				filename : filename,
351				realname : realname,
352				menu_name : menu_name},
353		async : false,
354		success: function(data) {
355            if(data.fileCnt > 0){
356                //alert("등록파일 중 개인정보가 검출되었습니다.\n\n검출파일 : "+data.cfFileMsg+"\n\n검출항목 : "+data.fileType+"\n\n개인정보를 삭제 후 다시 첨부해 주세요.");
357                var chk = confirm("등록파일 중 개인정보가 검출되었습니다.\n\n검출파일 : "+data.cfFileMsg+"\n\n검출항목 : "+data.fileType+"\n\n확인을 누르시면 강제 등록합니다.");
358                write_end();
359
360                chkrtn = !chk;
361            }
362		},
363		error: function() {
364			//console.log('오류');
365		}
366	});
367	return chkrtn;
368}
369
370function fn_cool_minwonCheckFile_chk(formData, menu_name) {
371    var chkrtn = false;
372    $.ajax({
373        type: "POST",
374        url: "/user/CoolFilter/minwonCheckFile",
375        dataType: "json",
376        data: formData,
377        async: false,
378        cache: false,			//추가
379        processData: false,		//추가
380        contentType: false,		//추가
381        success: function (data) {
382
383            var resultList = data.resultList;
384            if (resultList.length > 0) {
385                for (var i = 0; i < resultList.length; i++) {
386                    var resultItem = resultList[i];
387                    var chk = confirm("등록파일 중 개인정보가 검출되었습니다.\n\n검출파일 : " + resultItem.cfFileMsg + "\n검출항목 : " + resultItem.fileType + "\n\n확인을 누르시면 강제 등록합니다.");
388                    if (chk == false) {
389                        break;
390                    }
391                }
392                chkrtn = !chk;
393            }
394        },
395        error: function (data, status, err) {
396            //console.log('오류');
397        }
398    });
399    return chkrtn;
400}

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.