PageSourceSearch

https://lh.or.kr/main/js/cmm/common.js?20261001203006

js lh.or.kr collected 2026-10-01 11:32:26 UTC 30,109 bytes, 1,101 lines download raw bytes

1/**
2 * 좌측공백제거
3 */
4String.prototype.ltrim = function () {
5    var re = /\s*((\S+\s*)*)/;
6    return this.replace(re, "$1");
7}
8
9/**
10 * 우측공백제거
11 */
12String.prototype.rtrim = function () {
13    var re = /((\s*\S+)*)\s*/;
14    return this.replace(re, "$1");
15}
16
17/**
18 * 전체 공백제거
19 */
20String.prototype.trim = function () {
21    return this.ltrim().rtrim();
22}
23
24/**
25 * 숫자체크
26 * @param num
27 * @return
28 */
29function isNumber(num) {
30    return (/^[0-9]+$/).test(num);
31}
32
33
34/**
35 * 콤마찍기
36 */
37function comma(str) {
38    str = String(str);
39    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
40}
41
42
43/**
44 * 콤마풀기
45 */
46function uncomma(str) {
47    str = String(str);
48    return str.replace(/[^\d]+/g, '');
49}
50
51/**
52 * 빈값 체크
53 * @param value
54 * @return
55 */
56function checkValue(obj) {
57    if (obj.trim() == "") {
58        return true;
59    }
60    return false;
61}
62
63/**
64 * 문자열 바이트 길이 구하기
65 * @param str
66 * @return
67 */
68function getByteLength(str) {
69    var len = 0;
70    var max = str.length;
71
72    for (var i = 0; i < max; i++) {
73        var ch = escape(str.charAt(i));
74
75        if (ch.length == 1) len++;
76        else if (ch.indexOf("%u") != -1) len += 2;
77        else if (ch.indexOf("%") != -1) len += ch.length / 3;
78    } //for
79    return len;
80}
81
82
83/**
84 * 문자열 바이트 길이 구할 때 해당 길이에서 컷 시킴
85 * @param str, 300
86 * @return
87 */
88function setCutStr(str, limit_len) {
89    var max = str.length;
90    var bytes = 0;
91
92    for (var i = 0; i < max; i++) {
93        var ch = escape(str.charAt(i));
94
95        if (ch.length == 1) bytes++;
96        else if (ch.indexOf("%u") != -1) bytes += 2;
97        else if (ch.indexOf("%") != -1) bytes += ch.length / 3;
98
99        if (bytes > limit_len) {
100            return str.substring(0, i);
101        } //if
102    } //for
103}
104
105
106/**
107 * 시작일과 종료일 체크
108 * @param value
109 * @return
110 */
111function checkDtm(paramSdt, paramEdt) {
112    var sdt = paramSdt.replace(/\-/g, "");
113    var edt = paramEdt.replace(/\-/g, "");
114
115    if (parseInt(sdt) > parseInt(edt)) {
116        alert("시작일보다 종료일이 과거입니다.");
117        return true;
118    }
119    return false;
120}
121
122/**
123 * 종료일 - 시작일 차수 구하기
124 * @param value, value
125 * @return
126 */
127function betWeenDtm(startDate, endDate) {
128
129    var startDateArray = startDate.split("-");
130    var endDateArray = endDate.split("-");
131
132    var dateObj1 = new Date(startDateArray[0], Number(startDateArray[1]) - 1, startDateArray[2]);
133    var dateObj2 = new Date(endDateArray[0], Number(endDateArray[1]) - 1, endDateArray[2]);
134
135    var betweenDay = (dateObj2.getTime() / 1000 / 60 / 60 / 24) - ((dateObj1.getTime() / 1000 / 60 / 60 / 24));
136
137    return betweenDay;
138}
139
140/**
141 * pc의 오늘 날짜 가져오기
142 */
143function gf_today() {
144    var strToday = "";
145    var objDate = new Date();
146    var strToday = objDate.getFullYear() + "-";
147
148    if (((objDate.getMonth() + 1) + "").length > 1) {
149        strToday += (objDate.getMonth() + 1) + "-";
150    } else {
151        strToday += "0" + (objDate.getMonth() + 1) + "-";
152    }
153    if ((objDate.getDate() + "").length > 1) {
154        strToday += objDate.getDate();
155    } else {
156        strToday += "0" + objDate.getDate();
157    }
158    return strToday;
159}
160
161/**
162 *pc에 현재월에 1일값을 가져온다
163 */
164function gf_day() {
165
166    var objDate = new Date();
167    var strToday = objDate.getFullYear() + "-";
168
169    if (((objDate.getMonth() + 1) + "").length > 1) {
170        strToday += (objDate.getMonth() + 1) + "-";
171    } else {
172        strToday += "0" + (objDate.getMonth() + 1) + "-";
173    }
174    strToday += "01";
175
176    return strToday;
177}
178
179/**
180 * 천단위 치환
181 */
182function commify(n) {
183    var reg = /(^[+-]?\d+)(\d{3})/;
184    n += '';
185    n = n.replace(",", "");
186    while (reg.test(n))
187        n = n.replace(reg, '$1' + ',' + '$2');
188
189    return n;
190}
191
192/**
193 * 파일 확장자
194 * @return
195 */
196function checkFile(value) {
197    var fnm = value;
198    var filter = fnm.substring(fnm.lastIndexOf(".") + 1, fnm.length).toLowerCase();
199
200    if (fnm != "") {
201        if (filter == "jsp" || filter == "php" || filter == "asp" || filter == "aspx" || filter == "html" || filter == "js"
202            || filter == "exe" || filter == "php3" || filter == "c" || filter == "php5" || filter == "cpp" || filter == "phtml"
203            || filter == "bat" || filter == "cgi" || filter == "m" || filter == "mm" || filter == "class" || filter == "reg" || filter == "dll") {
204            alert("제한된 확장자 입니다.");
205            return true;
206        }
207    }
208
209    return false;
210}
211
212/**
213 * 파일 확장자 체크 2
214 * 주어진 확장자 목록 2번째 파라미러(@으로 구분하여 확인)
215 * @param value
216 * @returns {Boolean}
217 */
218function checkAllowFile(value, exts) {
219    var fnm = value;
220
221    var filter = fnm.substring(fnm.lastIndexOf(".") + 1, fnm.length).toLowerCase();
222
223    var extsSplit = "";
224    if (exts != "") {
225        extsSplit = exts.split("@");
226    }
227
228    var allowed = false;
229    if (fnm != "") {
230        for (var i = 0; i < extsSplit.length; i++) {
231            if (filter == extsSplit[i].toLowerCase()) {
232                allowed = true;
233                break;
234            }
235        }
236    }
237
238    return allowed;
239}
240
241/*
242 * 첨부파일 용량 체크
243 * */
244function checkAllowFileByte(fileSize, maxSize) {
245    // 사이즈체크
246    var limitSize = parseInt(maxSize) * 1024 * 1024
247
248    //console.log(fileSize + "//" + limitSize);
249    // 브라우저 확인
250    /*var browser=navigator.appName;
251	if (browser=="Microsoft Internet Explorer"){							    // 익스플로러일 경우
252		var oas = new ActiveXObject("Scripting.FileSystemObject");
253		inputFile = oas.getFile(file[0].value);
254		fileSize = inputFile.size;
255	}else{																		// 익스플로러가 아닐경우
256		fileSize = file[0].files[0].size;
257	}*/
258
259
260    var allowed = false;
261    if (fileSize <= limitSize) {
262        allowed = true;
263    }
264    return allowed;
265}
266
267/**
268 * 중복 파일명 체크
269 * @return
270 */
271function chk_file_name(view_file_name, index) {
272    var flag = false;
273
274    $("input[name='hidden_fileName']").each(function (i) {
275
276        var value = $(this).val();
277        var checkFileName = value.substring(value.lastIndexOf("\\") + 1, value.length);
278
279        if (view_file_name == checkFileName && index != i) {
280            alert("동일한 파일명이 존재합니다.");
281            flag = true;
282            return;
283        }
284    });
285
286    return flag;
287}
288
289/**
290 * 파일 다운로드
291 */
292function fileDownload(file, oldFile) {
293
294    var form = $('<form></form>');
295    form.attr('action', "/ssm/file/fileDown.do");
296    form.attr('method', 'post');
297    form.appendTo('body');
298
299    var file = $("<input type='hidden' value=" + file + " name='file'>");
300    var oldFile = $("<input type='hidden' value=" + oldFile + " name='oldFile'>");
301    form.append(file);
302    form.append(oldFile);
303    form.submit();
304}
305
306
307/**
308 * 파일 다운로드
309 * 사용법 : getFileDownload(ATCHFILENO1.value);
310 */
311function getFileDownload(obj) {
312    $.ajax({
313        type: "POST",
314        data: {atchFileNo: obj},
315        url: "/ssm/file/selectFileList.do",
316        success: function (responseData) {
317            var data = responseData.resultList;
318
319            if (responseData.resultList.length > 0) {
320                $(data).each(function (index, item) {
321                    fileDownload("'" + item.SVFILENM + "'", "'" + item.ORGFILENM + "'");
322                });
323            } else {
324                alert("등록된 첨부파일이 존재 하지 않습니다.");
325            } //else
326        },
327        error: function (request, status) {
328            alert("파일 다운로드 중 오류가 발생 했습니다.");
329        }
330    });
331}
332
333/**
334 *
335 * 숫자만 입력 되게 이벤트 바인딩 [동적항목인 경우]
336 */
337function numBinding() {
338    jQuery(".intOnly").css("ime-mode", "disabled");
339
340    jQuery(".intOnly .engIntOnly").each(function () {
341        jQuery(this).css({
342                "ime-mode": "disabled"
343            }
344        );
345    });
346
347    jQuery(".intOnly").on("keypress", function (event) {
348        if (event.which && (event.which > 47 && event.which < 58 || event.which == 8 || event.which == 46)) {
349
350        } else {
351            event.preventDefault();
352        }
353    });
354}
355
356/**
357 * 숫자 (intOnly), 금액 (moneyOnly)
358 */
359$(document).on("keyup", ".moneyOnly", function () {
360    $(this).number(true); //온리 숫자만 입력 true : 숫자입력시 콤마자동생성, false:숫자만입력
361});
362$(document).on("keyup", ".intOnly", function (event) {
363    $(this).number(false);
364});
365
366$(document).on("keyup", ".numberOnly", function (event) {
367    var regExp = /^[0-9]+$/;
368    if (!regExp.test($(this).val())) {
369        $(this).val('');
370        $(this).focus('');
371    }
372});
373
374$(document).on("keyup", ".limit200", function (event) {
375    maxByteChk($(this), 200);
376});
377$(document).on("keyup", ".limit300", function (event) {
378    maxByteChk($(this), 300);
379});
380$(document).on("keyup", ".limit1000", function (event) {
381    maxByteChk($(this), 1000);
382});
383$(document).on("keyup", ".limit2000", function (event) {
384    maxByteChk($(this), 2000);
385});
386$(document).on("keyup", ".limit4000", function (event) {
387    maxByteChk($(this), 4000);
388});
389
390function maxByteChk(obj, maxLength) {
391    var tempText = obj;
392    var tempChar = "";                           // TextArea의 문자를 한글자씩 담는다
393    var tempChar2 = "";                          // 절삭된 문자들을 담기 위한 변수
394    var countChar = 0;                           // 한글자씩 담긴 문자를 카운트 한다
395    var tempHangul = 0;                          // 한글을 카운트 한다
396    var maxSize = maxLength;                           // 최대값
397
398    // 글자수 바이트 체크를 위한 반복
399    for (var i = 0; i < tempText.val().length; i++) {
400        tempChar = tempText.val().charAt(i);
401
402        // 한글일 경우 3 추가, 영문일 경우 1 추가
403        if (escape(tempChar).length > 4) {
404            countChar += 3;
405            tempHangul++;
406        } else {
407            countChar++;
408        }
409    }
410
411    // 카운트된 문자수가 MAX 값을 초과하게 되면 절삭 수치까지만 출력을 한다.(한글 입력 체크)
412    // 내용에 한글이 입력되어 있는 경우 한글에 해당하는 카운트 만큼을 전체 카운트에서 뺀 숫자가 maxSize보다 크면 수행
413//    console.log("countChar : ", countChar);
414    if ((countChar) > maxSize) {
415        alert("최대 글자수를 초과하였습니다.");
416
417        tempChar2 = tempText.val().substr(0, maxSize - 1 - (tempHangul * 2));
418        tempText.val(tempChar2);
419    }
420
421}
422
423
424//직접 입력한 휴대전화번호 정규식 체크 함수(-가 들어가는 입력양식 체크)
425function checkDash_HpNo(val) {
426    var flag = true;
427    var regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;
428    if (!regExp.test(val)) {
429        flag = false;
430    }
431    return flag;
432}
433
434//휴대전화번호 정규식 체크 함수(-가 들어가는 입력양식 체크)
435function checkDash_HpNo2(val) {
436    var flag = true;
437    var regExp = /^\d{3}-\d{3,4}-\d{4}$/;
438    if (!regExp.test(val)) {
439        flag = false;
440    }
441    return flag;
442}
443
444//전화번호 정규식 체크 함수(-가 들어가는 입력양식 체크)
445function checkDash_TelNo(val) {
446    var flag = true;
447    var regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
448    if (!regExp.test(val)) {
449        flag = false;
450    }
451    return flag;
452}
453
454//전화번호 정규식 체크 함수(-가 들어가지않는 입력양식 체크)
455function checkDash_TelNo2(val) {
456    var flag = true;
457    var regExp = /^\d{2,3}\d{3,4}\d{4}$/;
458    if (!regExp.test(val)) {
459        flag = false;
460    }
461    return flag;
462}
463
464
465//이메일 정규식 체크 함수
466function check_Email(val) {
467    var flag = true;
468    var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
469    if (!regExp.test(val)) {
470        flag = false;
471    }
472    return flag;
473}
474
475
476/**
477 *
478 * 생년월일 기준 자동 나이 계산
479 * 사용법 : computeAge("19750127");
480 */
481function computeAge(birthday) {
482    var bday = parseInt(birthday.substring(6, 8));
483    var bmo = (parseInt(birthday.substring(4, 6)) - 1);
484    var byr = parseInt(birthday.substring(0, 4));
485    //alert(byr + "-" + bmo + "-" + bday);
486    var byr;
487    var age;
488    var now = new Date();
489    tday = now.getDate();
490    tmo = (now.getMonth());
491    tyr = (now.getFullYear());
492
493    if ((tmo > bmo) || (tmo == bmo & tday >= bday)) {
494        age = byr;
495    } else {
496        age = byr + 1;
497    }
498    return tyr - age;
499}
500
501
502/**
503 *
504 * 날짜포맷에 맞는지 검사
505 * 사용법
506 * isDateFormat("1975-05-11");
507 *
508 */
509function isDateFormat(d) {
510    var df = /[0-9]{4}-[0-9]{2}-[0-9]{2}/;
511    return d.match(df);
512}
513
514
515/**
516 *
517 * 윤년여부 검사
518 *
519 */
520function isLeaf(year) {
521    var leaf = false;
522
523    if (year % 4 == 0) {
524        leaf = true;
525
526        if (year % 100 == 0) {
527            leaf = false;
528        }
529
530        if (year % 400 == 0) {
531            leaf = true;
532        }
533    } //if
534    return leaf;
535}
536
537/**
538 *
539 * 날짜유효성체크
540 * 사용법
541 * isValidDate("750121", 6);
542 * isValidDate("1975-01-21", 10);
543 *
544 */
545function isValidDate(d, len) {
546    var tot = "";
547
548    if (len == 6) {
549        var value = "";
550        if (d.substring(0, 1) == "0") {
551            value = "20" + d;
552        } else {
553            value = "19" + d;
554        } //else
555
556        var year = value.substring(0, 4);
557        var month = value.substring(4, 6);
558        var day = value.substring(6);
559        tot = year + "-" + month + "-" + day;
560        //alert(tot);
561    } else {
562        tot = d;
563    }
564    // 포맷에 안맞으면 false리턴
565    if (!isDateFormat(tot)) {
566        return false;
567    }
568
569    var month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
570
571    var dateToken = tot.split('-');
572    var year = Number(dateToken[0]);
573    var month = Number(dateToken[1]);
574    var day = Number(dateToken[2]);
575
576    // 날짜가 0이면 false
577    if (day == 0) {
578        return false;
579    }
580
581    var isValid = false;
582
583    // 윤년일때
584    if (isLeaf(year)) {
585        if (month == 2) {
586            if (day <= month_day[month - 1] + 1) {
587                isValid = true;
588            }
589        } else {
590            if (day <= month_day[month - 1]) {
591                isValid = true;
592            }
593        } //else
594    } else {
595        if (day <= month_day[month - 1]) {
596            isValid = true;
597        }
598    } //else
599    return isValid;
600}
601
602
603/**
604 * 공통 주소찾기 팝업
605 * @param str1 (우편번호 ID값)
606 * @param str2 (주소 ID값)
607 * @param str3 (주소 상세 ID값)
608 * @param str4 (callback 여부)
609 * 사용법 : jusoPopup("post", "address1", "address2");
610 */
611function jusoPopup(str1, str2, str3, str4) {
612    var pop = window.open("/cmmn/juso/jusoPopup.do?str1=" + str1 + "&str2=" + str2 + "&str3=" + str3 + "&str4=" + str4, "jusoPop", "width=570,height=420, scrollbars=yes");
613}
614
615function jusoPopupSearch(str1, str2, str3, str4) {
616    var pop = window.open("/cmmn/juso/jusoPopupSearch.do?str1=" + str1 + "&str2=" + str2 + "&str3=" + str3 + "&str4=" + str4, "jusoPop", "width=570,height=420, scrollbars=yes");
617}
618
619
620/**
621 * pdf viewer 팝업
622 * @param str1 (fileNo)
623 * @param str2 (order)
624 */
625function pdfViewerPopup(str1, str2) {
626    var pop = window.open("/cmmn/pdfViewer/viewerPopup.do?fileNo=" + str1 + "&order=" + str2, "viewerPop", "width=900,height=600, scrollbars=yes");
627}
628
629
630/**
631 * 공통 SMS 팝업
632 * 사용법 : smsPopup();
633 */
634function smsPopup(smsCallBk) {
635    var pop = window.open("/com/smsPopup.do?smsCallBk=" + smsCallBk, "smsPop", "width=600,height=400, scrollbars=no");
636}
637
638
639/**
640 * 모달 팝업창 띄우기
641 * @Description
642 */
643function _fn_modalDialog(url, target, width, height, scrollYesNo) {
644    var browser = navigator.userAgent.toLowerCase();
645    if (browser.indexOf("chrome") != -1)
646        window.open(url, target, "width=" + width + ", height=" + height + ", scrollbars=" + scrollYesNo + ", resizable=no");
647    else
648        window.showModalDialog(url, target, "dialogHeight:" + height + "px; dialogWidth:" + width + "px; scrollbars:" + scrollYesNo + "; resizable:no;");
649}
650
651/**
652 * 기본팝업
653 * @param url
654 * @param popupName
655 * @param width
656 * @param height
657 * @return
658 */
659function popup(url, popupName, width, height) {
660    window.open(url, popupName, "width=" + width + ", height=" + height + ", scrollbars=yes, resizable=no");
661}
662
663/**
664 * 위치 팝업
665 * 추가로 left 와 top 을 받아 위치를 지정하여 생성
666 * 더블모니터 상관없니 나오도록 적용함.
667 * @param url
668 * @param popupName
669 * @param width
670 * @param height
671 * @param left
672 * @param top
673 */
674function popup_pos(url, popupName, width, height, left, top) {
675    left += window.screenX;
676    window.open(url, popupName, "width=" + width + ", height=" + height + ", left=" + left + ", top=" + top + ", scrollbars=yes, resizable=no");
677}
678
679/**
680 * input type number maxlength 체크
681 * @param
682 * @return
683 */
684function maxLengthCheck(object) {
685    if (object.value.length > object.maxLength) {
686        object.value = object.value.slice(0, object.maxLength);
687    }
688}
689
690/**
691 * 전체 체크/해제
692 * @param
693 * @return
694 */
695$(document).on("click", "#allChk", function () {
696    if ($("#allChk").prop("checked"))
697        $("input[type=checkbox]").prop("checked", true);
698    else
699        $("input[type=checkbox]").prop("checked", false);
700});
701
702/**
703 * 페이드 아웃
704 * @param
705 * @return
706 */
707function fadeOut(id) {
708    $("#" + id).fadeOut();
709}
710
711/**
712 * 숫자 앞에 0 채우기
713 * */
714function _pad(n, width) {
715    n = n + '';
716    return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
717}
718
719
720/**
721 * 이메일 형식 체크
722 **/
723function CheckEmail2(str) {
724    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
725    if (filter.test(str)) {
726        return true;
727    } else {
728        return false;
729    }
730}
731
732
733/**
734 * 실제 주민등록번호인치 체크
735 * @param str
736 * @returns {Boolean}
737 */
738function isSSNChk(str) {
739    var idtot = 0;
740    var idadd = "234567892345";
741
742    for (var i = 0; i < 12; i++) {
743        idtot = idtot + parseInt(str.substring(i, i + 1)) * parseInt(idadd.substring(i, i + 1));
744    }
745    idtot = 11 - (idtot % 11);
746    if (idtot == 10) {
747        idtot = 0;
748    } else if (idtot == 11) {
749        idtot = 1;
750    }
751    if (parseInt(str.substring(12, 13)) != idtot)
752        return false;
753    return true;
754}
755
756/**
757 * 실제 주민등록번호인치 체크2
758 * @param fObj
759 * @param sObj
760 * @returns {Boolean}
761 */
762function isSSNChk2(fObj, sObj) {
763    total = 0;
764    temp = new Array(13);
765    for (i = 1; i <= 6; i++) temp[i] = fObj.charAt(i - 1);
766    for (i = 7; i <= 13; i++) temp[i] = sObj.charAt(i - 7);
767    for (i = 1; i <= 12; i++) total = total + temp[i] * ((i - 1) % 8 + 2);
768    mm = temp[3] + temp[4];
769    dd = temp[5] + temp[6];
770    total = 11 - (total % 11);
771    total = total % 10;
772
773	/*if (!(total == temp[13] && mm < 13 && dd < 32)) return false; else return true;*/
774    /*if (!((total == temp[13] && mm < 13 && dd < 32) || (fObj > 200930))) return false; else return true;*/
775	/*if (!(total == temp[13] && mm < 13 && dd < 32 && (temp[7] == 1 || temp[7] == 2))) return false; else return true;*/
776	if(mm < 1 || mm > 12 || dd < 1 || dd > 31){ 
777		return false;
778	}
779	
780	var gender =  temp[7];
781	var is2000 = (gender == '3' || gender == '4'); //2000년대인지확인
782	
783	if(is2000 && fObj > "200930"){
784		return true;
785	}
786	
787	if(total != Number(temp[13])){return false;}
788		return true;
789}
790
791
792function isSsnCheck(str) {
793
794    //------------------------
795    //내용에 주민등록번호 체크
796    //-------------------------
797    var regExp1 = /\d{6}-\d{7}/;
798    var regExp2 = /\d{13}/;
799    var valData = str;
800    valData = valData.replace(/\ /g, "");
801    if (valData.match(regExp1) != null) {
802        alert("내용에 주민등록(" + valData.match(regExp1) + ")번호는 등록될 수 없습니다..");
803        str.focus();
804        return false;
805    }
806
807    if (valData.match(regExp2) != null) {
808        alert("내용에 주민등록(" + valData.match(regExp2) + ")번호는 등록될 수 없습니다.");
809        str.focus();
810        return false;
811    }
812
813    return true;
814
815}
816
817
818/**
819 * 주민등록번호 체크 테스트
820 * @param str
821 * @returns {Boolean}
822 */
823function userSsnCheck_test(str) {
824
825    //------------------------
826    //내용에 주민등록번호 체크
827    //-------------------------
828    var regExp1 = /\d{6}-\d{7}/;
829    var regExp2 = /\d{13}/;
830    var regExp3 = /\d{6} \d{7}/;
831    var regExp4 = /\d{6}  \d{7}/;
832    var valData = str.value;
833
834    if (valData.match(regExp1) != null) {
835        var ChkSsn1 = valData.match(regExp1).toString();	//실제 주민등록번호인지 체크
836        var ChkSsn2 = ChkSsn1.replace('-', '');
837        if (isSSNChk(ChkSsn2) == true) {
838            alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
839            str.focus();
840            return false;
841        }
842
843    }
844
845    if (valData.match(regExp2) != null) {
846        var ChkSsn1 = valData.match(regExp2).toString();	//실제 주민등록번호인지 체크
847        if (isSSNChk(ChkSsn1) == true) {
848            alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
849            str.focus();
850            return false;
851        }
852
853    }
854
855    if (valData.match(regExp3) != null) {
856        var ChkSsn1 = valData.match(regExp3).toString();	//실제 주민등록번호인지 체크
857        var ChkSsn2 = ChkSsn1.replace(' ', '');
858        if (isSSNChk(ChkSsn2) == true) {
859            alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
860            str.focus();
861            return false;
862        }
863
864    }
865
866    if (valData.match(regExp4) != null) {
867        var ChkSsn1 = valData.match(regExp4).toString();	//실제 주민등록번호인지 체크
868        var ChkSsn2 = ChkSsn1.replace('  ', '');
869        if (isSSNChk(ChkSsn2) == true) {
870            alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
871            str.focus();
872            return false;
873        }
874
875    }
876
877    return true;
878
879
880}
881
882/**
883 * 주민등록번호 체크
884 * @param str
885 * @returns {Boolean}
886 */
887function userSsnCheck(str) {
888
889    //------------------------
890    //내용에 주민등록번호 체크
891    //-------------------------
892    var regExp1 = /\d{6}-\d{7}/g;
893    var regExp2 = /\d{13}/g;
894    var regExp3 = /\d{6} \d{7}/g;
895    var regExp4 = /\d{6}  \d{7}/g;
896    var valData = str.value;
897
898    var myResult = valData.match(regExp1);
899    if (myResult != null) {
900        for (var cnt = 0; cnt < myResult.length; cnt++) {
901            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
902            var ChkSsn2 = ChkSsn1.replace('-', '');
903
904            if (isSSNChk(ChkSsn2) == true) {
905                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
906                str.focus();
907                return false;
908            }
909        }
910
911    }
912
913    var myResult = valData.match(regExp2);
914    if (myResult != null) {
915        for (var cnt = 0; cnt < myResult.length; cnt++) {
916            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
917            if (isSSNChk(ChkSsn1) == true) {
918                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
919                str.focus();
920                return false;
921            }
922        }
923
924    }
925
926    var myResult = valData.match(regExp3);
927    if (myResult != null) {
928        for (var cnt = 0; cnt < myResult.length; cnt++) {
929            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
930            var ChkSsn2 = ChkSsn1.replace(' ', '');
931
932            if (isSSNChk(ChkSsn2) == true) {
933                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
934                str.focus();
935                return false;
936            }
937        }
938
939    }
940
941    var myResult = valData.match(regExp4);
942    if (myResult != null) {
943        for (var cnt = 0; cnt < myResult.length; cnt++) {
944            var ChkSsn1 = myResult[cnt].toString();	//실제 주민등록번호인지 체크
945            var ChkSsn2 = ChkSsn1.replace('  ', '');
946
947            if (isSSNChk(ChkSsn2) == true) {
948                alert("*개인정보보호법에 의거하여 주민등록번호를 입력시에는 등록되지 않음을 알려드립니다\n\n주민등록(" + ChkSsn1 + ")번호는 등록될 수 없습니다.");
949                str.focus();
950                return false;
951            }
952        }
953
954    }
955    return true;
956}
957
958/**
959 * 바이트 계산
960 * @param text
961 * @returns {Number}
962 */
963function GetTextByte(text) {
964    str = new String(text);
965    var strLen = str.length;
966    var strByte = 0;
967    for (var i = 0; i < strLen; i++) {
968        tmp = new String(str.charCodeAt(i));
969        strByte++;
970        if (tmp.length > 3) {
971            strByte++;
972        }
973    }
974    return strByte;
975}
976
977/**
978 * 도메인체크
979 * @param theVal
980 * @returns
981 */
982function validateDomainCheck(theVal) {
983    var reg = /((\w|[\-\.])+)\.([A-Za-z]+)$/;
984    return reg.test(theVal);
985}
986
987
988/**
989 * 실명인증 체크
990 * @returns
991 */
992function fn_submit_realname(name, key1, key2) {
993    var title = "realNameCheck";
994    if (name != '' && key1 != '' && key2 != '') {
995        $("form[name=realNameForm]").one("submit", function () {
996            $("form[name=realNameForm] > input[name=name]").val(name);
997            $("form[name=realNameForm] > input[name=key1]").val(key1);
998            $("form[name=realNameForm] > input[name=key2]").val(key2);
999
1000            window.open('', title, 'width=450, height=200, left=screen.width,top=screen.height, resizable=no, status=no, menubar=no, toolbar=no, scrollbars=yes, location=no');
1001            this.action = "/ssm/comm/nameRealCheckSeed.do";
1002            this.method = 'POST';
1003            this.target = title;
1004        }).trigger("submit");
1005    } else {
1006        alert("실명인증에 필요한 정보를 입력하세요. (성명, 주민번호)");
1007    }
1008}
1009
1010
1011function setDate(range) {
1012
1013    var startDate = "";
1014    var endDate = "";
1015
1016    var currentDate = new Date();
1017    var year = currentDate.getFullYear();
1018    var month = currentDate.getMonth() + 1;
1019    var day = currentDate.getDate();
1020
1021    if (parseInt(month) < 10) {
1022        month = "0" + month;
1023    }
1024
1025    if (parseInt(day) < 10) {
1026        day = "0" + day;
1027    }
1028
1029    var toDate = year + "-" + month + "-" + day;
1030
1031    /*   		for (var i = 1; i < 6; i++) {
1032                  $("#term"+i).removeClass("on");
1033              } */
1034
1035    if (range == "D") {
1036        startDate = getAddDay(currentDate, -0);
1037    } else if (range == "W") {
1038        startDate = getAddDay(currentDate, -6);
1039        $("#range2").addClass("on");
1040    } else if (range == "M") {
1041        startDate = getAddDay(currentDate, -29);
1042        $("#range3").addClass("on");
1043        ;
1044    } else if (range == "Y") {
1045        startDate = getAddDay(currentDate, -364);
1046        $("#range4").addClass("on");
1047        ;
1048    } else {
1049        startDate = "1990-01-01";
1050        endDate = toDate;
1051    }
1052
1053    if (range != "A" && startDate != "") {
1054        year = startDate.getFullYear();
1055        month = startDate.getMonth() + 1;
1056        day = startDate.getDate();
1057
1058        if (parseInt(month) < 10) {
1059            month = "0" + month;
1060        }
1061
1062        if (parseInt(day) < 10) {
1063            day = "0" + day;
1064        }
1065
1066        startDate = year + "-" + month + "-" + day;
1067        endDate = toDate;
1068    }
1069
1070    $("#termVal").val(range);
1071    $("#termVal2").val(range);
1072    $("#start_date").val(startDate);
1073    $("#end_date").val(endDate);
1074}
1075
1076
1077function getAddDay(targetDate, dayPrefix) {
1078    var newDate = new Date();
1079    var processTime = targetDate.getTime() + (parseInt(dayPrefix) * 24 * 60 * 60 * 1000);
1080    newDate.setTime(processTime);
1081    return newDate;
1082}
1083
1084//처리중 레이어팝업 열기
1085function openMagnificProgress(){
1086	$.magnificPopup.open({
1087		items: {
1088			src: ".magnific_progress"
1089			, type: "inline"
1090		}
1091		, closeOnBgClick: false
1092		, showCloseBtn : false
1093	});
1094
1095	$('.mfp-bg').css('background-color', '#fff');
1096}
1097
1098//레이어팝업 닫기
1099function closeMagnificPopup(){
1100	$.magnificPopup.close();
1101}

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.