PageSourceSearch

https://tenping.kr/Content/js/JFramework/JFramework.Common.js?v=202304261100

js tenping.kr collected 2026-10-02 03:45:02 UTC 17,748 bytes, 463 lines download raw bytes

1///////////////////////////////////////////////////////////////////////////////////////////////////
2//엔트키를 무력화 시킴
3///////////////////////////////////////////////////////////////////////////////////////////////////
4function KNC() {
5    if (event.keyCode == 13) {
6        event.returnValue = false;
7    }
8}
9function OnlyNumber() {
10    if ((event.keyCode < 48) || (event.keyCode > 57)) {
11        event.returnValue = false;
12    }
13}
14///////////////////////////////////////////////////////////////////////////////////////////////////
15// 창의 크기를 조절합니다.
16// 일반적인 OS와는 달리 XP에 따른 창크기 문제로 인하여 작성된 것임.
17///////////////////////////////////////////////////////////////////////////////////////////////////
18function WindowsResizeTo(width, height) {
19    var ua = window.navigator.userAgent;
20    var msie = ua.indexOf("MSIE");
21    var msxp = ua.indexOf("Windows NT 5.1");
22    var msxpsp2 = ua.indexOf(" SV1"); //서비스팩 2번을 설치한 경우
23
24    if (msie > 0 && msxp > 0 && msxpsp2 > 0) {
25        window.resizeTo(width, height + 22);
26    }
27    else {
28        window.resizeTo(width, height);
29    }
30
31}
32///////////////////////////////////////////////////////////////////////////////////////////////////
33//새창띄우기
34///////////////////////////////////////////////////////////////////////////////////////////////////
35function WinPopUp(theURL, winName, winWidth, winHeigth, sclOnOff) {
36    WinPopUp_Posi(theURL, winName, winWidth, winHeigth, 0, 0, sclOnOff);
37}
38///////////////////////////////////////////////////////////////////////////////////////////////////
39//	새창띄우기
40///////////////////////////////////////////////////////////////////////////////////////////////////
41function WinPopUp2(theURL, winName) {
42    var win = window.open(theURL, winName);
43    win.focus();
44}
45///////////////////////////////////////////////////////////////////////////////////////////////////
46//새창을 화면 중앙에 띄우기
47///////////////////////////////////////////////////////////////////////////////////////////////////
48function WinPopUp_Center(theURL, winName, winWidth, winHeigth, sclOnOff) {
49    var lftPosi = (screen.width - winWidth) / 2;
50    var topPosi = ((screen.height - winHeigth) / 2) - 100;
51
52    WinPopUp_Posi(theURL, winName, winWidth, winHeigth, lftPosi, topPosi, sclOnOff);
53}
54///////////////////////////////////////////////////////////////////////////////////////////////////
55//	새창띄우기
56///////////////////////////////////////////////////////////////////////////////////////////////////
57function WinPopUp_Posi(theURL, winName, winWidth, winHeigth, lftPosi, topPosi, sclOnOff) {
58    var win = window.open(theURL, winName, 'width=' + winWidth + ',height=' + winHeigth + ',left=' + lftPosi + ',top=' + topPosi + ',fullscreen=no,titlebar=no,toolbar=no,directories=no,status=no,menubar=no,scrollbars=' + sclOnOff + ',resizable=no');
59    win.focus();
60}
61///////////////////////////////////////////////////////////////////////////////////////////////////
62//체크박스 전체선택
63///////////////////////////////////////////////////////////////////////////////////////////////////
64function CheckboxSet(form, ary, sw) {
65    for (var i = 0; i < ary.length; i++) {
66        form[ary[i]].checked = sw;
67    }
68}
69///////////////////////////////////////////////////////////////////////////////////////////////////
70//disabled된 체크박스는 스킵
71///////////////////////////////////////////////////////////////////////////////////////////////////
72function CheckboxSet2(form, ary, sw) {
73    for (var i = 0; i < ary.length; i++) {
74        //disabled이 아닐 경우만 역할을 수행
75        if (!form[ary[i]].disabled) {
76            form[ary[i]].checked = sw;
77        }
78    }
79}
80///////////////////////////////////////////////////////////////////////////////////////////////////
81// 체크박스를 선택을 반전
82///////////////////////////////////////////////////////////////////////////////////////////////////
83function CheckboxSetReverse(form, ary) {
84    for (var i = 0; i < ary.length; i++) {
85        form[ary[i]].checked = (!form[ary[i]].checked);
86    }
87}
88///////////////////////////////////////////////////////////////////////////////////////////////////
89// 숫자에 자리수에 해당하는 콤마(,)를 찍음
90// FormatNumber('1000000',3) >> 1,000,000
91// FormatNumber('1000000',4) >> 100,0000
92///////////////////////////////////////////////////////////////////////////////////////////////////
93function FormatNumber(v1, v2) { //숫자와 콤마를 찍을자리수를 매개변수로 받음
94    var str = new Array(); //콤마스트링을 조합할 배열
95    v1 = String(v1); //숫자를 스트링으로 변환
96    for (var i = 1; i <= v1.length; i++) { //숫자의 길이만큼 반복
97        if (i % v2) str[v1.length - i] = v1.charAt(v1.length - i); //자리수가 아니면 숫자만삽입
98        else str[v1.length - i] = ',' + v1.charAt(v1.length - i); //자리수 이면 콤마까지 삽입
99    }
100    return str.join('').replace(/^,/, ''); //스트링을 조합하여 반환
101}
102///////////////////////////////////////////////////////////////////////////////////////////////////
103// 문자열을 더하는 함수
104///////////////////////////////////////////////////////////////////////////////////////////////////
105function addString(ori, add, len, addposition) {
106    var newStr;
107    if (addposition == "header") {
108        newStr = add + "" + ori;
109        return newStr.substring(newStr.length - len);
110    }
111    else {
112        newStr = ori + "" + add;
113        return newStr.substring(0, len);
114    }
115}
116///////////////////////////////////////////////////////////////////////////////////////////////////
117// 랜덤한 문자를 반환하는 함수ㅊ
118///////////////////////////////////////////////////////////////////////////////////////////////////
119function getRandomString(add, addposition) {
120    var now = new Date();
121    var y = addString(now.getFullYear(), "00", 4, "header");
122    var m = addString(now.getMonth() + 1, "00", 2, "header");
123    var d = addString(now.getDate(), "00", 2, "header");
124    var h = addString(now.getHours(), "00", 2, "header");
125    var mi = addString(now.getMinutes(), "00", 2, "header");
126    var s = addString(now.getSeconds(), "00", 2, "header");
127    var ms = addString(now.getMilliseconds(), "0000", 4, "header");
128    if (addposition == "header") {
129        return add + y + m + d + h + mi + s + ms;
130    }
131    else {
132        return y + m + d + h + mi + s + ms + add;
133    }
134}
135///////////////////////////////////////////////////////////////////////////////////////////////////
136// TimeKey 받아오기
137///////////////////////////////////////////////////////////////////////////////////////////////////
138function fn_GetTimeKey() {
139    var result;
140
141    $.ajax({
142        url: "/CommonAjax/TimeKey",
143        type: "POST",
144        async: false,
145        dataType: "JSON",
146        success: function (data) {
147            if (data.ResultCode == "1") {
148                result = data.Message;
149            } else {
150                result = "";
151            }
152        },
153        error: function (request, status, error) {
154            result = "";
155        }
156    });
157
158    return result;
159}
160///////////////////////////////////////////////////////////////////////////////////////////////////
161// 날짜 가져 오기
162///////////////////////////////////////////////////////////////////////////////////////////////////
163function fn_GetDateString(addNum, type) {
164    // type : no, period
165    if (typeof (type) == 'undefined' || type == null) {
166        type = "no";
167    }
168
169    var now = new Date();
170    var addDay = new Date(now.valueOf() + (24 * 60 * 60 * 1000 * addNum));
171    var year = addDay.getFullYear();
172    var mon = (addDay.getMonth() + 1) > 9 ? '' + (addDay.getMonth() + 1) : '0' + (addDay.getMonth() + 1);
173    var day = addDay.getDate() > 9 ? '' + addDay.getDate() : '0' + addDay.getDate();
174    var dateString;
175
176    if (type == "no") {
177        dateString = year + mon + day;
178    } else if (type == "period") {
179        dateString = year + "." + mon + "." + day;
180    }
181
182    return dateString;
183}
184///////////////////////////////////////////////////////////////////////////////////////////////////
185// 숫자 콤마 넣기
186///////////////////////////////////////////////////////////////////////////////////////////////////
187function addThousandSeparatorCommas(num) {
188    var parts = num.toString().split(".");
189
190    if (parts.length > 1) {
191        return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
192    }
193    else {
194        return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
195    }
196}
197///////////////////////////////////////////////////////////////////////////////////////////////////
198// 퍼센트 구하기
199///////////////////////////////////////////////////////////////////////////////////////////////////
200function fn_Cal_Percent(number_1, number_2) {
201    number_1 = Number(number_1);
202    number_2 = Number(number_2);
203
204    //if (number_1 > number_2) {
205    //    return "0";
206    //}
207
208    if (number_1 <= 0) {
209        return "0";
210    }
211
212    if (number_2 <= 0) {
213        return "0";
214    }
215
216    var percent = Math.floor((number_1 / number_2) * 100);
217
218    return String(percent);
219}
220
221jQuery.fn.preventDoubleSubmission = function () {
222    $(this).on('submit', function (e) {
223        var $form = $(this);
224
225        if ($form.data('submitted') === true) {
226           
227            alert('요청 처리중입니다. 잠시만 기다리세요.');
228            e.preventDefault();
229        } else {
230       
231                $form.data('submitted', true);
232            
233        }
234    });
235
236    return this;
237};
238
239///////////////////////////////////////////////////////////////////////////////////////////////////
240// 날짜 가져 오기
241///////////////////////////////////////////////////////////////////////////////////////////////////
242function fn_GetDateString_V2(addNum, type, baseDate) {
243    // type : no, period
244    if (typeof (type) == 'undefined' || type == null) {
245        type = "no";
246    }
247
248    var arrbaseDate = baseDate.split(".");
249    arrbaseDate[1] = (Number(arrbaseDate[1]) - 1) + "";
250
251    var now = new Date(arrbaseDate[0], arrbaseDate[1], arrbaseDate[2]);
252    var addDay = new Date(now.valueOf() + (24 * 60 * 60 * 1000 * addNum));
253    var year = addDay.getFullYear();
254    var mon = (addDay.getMonth() + 1) > 9 ? '' + (addDay.getMonth() + 1) : '0' + (addDay.getMonth() + 1);
255    var day = addDay.getDate() > 9 ? '' + addDay.getDate() : '0' + addDay.getDate();
256    var dateString;
257
258    if (type == "no") {
259        dateString = year + mon + day;
260    } else if (type == "period") {
261        dateString = year + "." + mon + "." + day;
262    }
263
264    return dateString;
265}
266
267function fn_CalDateRange(val1, val2) {
268    var FORMAT = ".";
269
270    // FORMAT을 포함한 길이 체크
271    if (val1.length != 10 || val2.length != 10)
272        return null;
273
274    // FORMAT이 있는지 체크
275    if (val1.indexOf(FORMAT) < 0 || val2.indexOf(FORMAT) < 0)
276        return null;
277
278    // 년도, 월, 일로 분리
279    var start_dt = val1.split(FORMAT);
280    var end_dt = val2.split(FORMAT);
281
282    // 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
283    // Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
284    start_dt[1] = (Number(start_dt[1]) - 1) + "";
285    end_dt[1] = (Number(end_dt[1]) - 1) + "";
286
287    var from_dt = new Date(start_dt[0], start_dt[1], start_dt[2]);
288    var to_dt = new Date(end_dt[0], end_dt[1], end_dt[2]);
289
290    return (to_dt.getTime() - from_dt.getTime()) / 1000 / 60 / 60 / 24;
291}
292
293
294function fn_CalDateRange_V2(val1, val2, format) {
295
296    FORMAT = format;
297
298    // FORMAT을 포함한 길이 체크
299    if (val1.length != 10 || val2.length != 10)
300        return null;
301
302    // FORMAT이 있는지 체크
303    if (val1.indexOf(FORMAT) < 0 || val2.indexOf(FORMAT) < 0)
304        return null;
305
306    // 년도, 월, 일로 분리
307    var start_dt = val1.split(FORMAT);
308    var end_dt = val2.split(FORMAT);
309
310    // 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
311    // Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
312    start_dt[1] = (Number(start_dt[1]) - 1) + "";
313    end_dt[1] = (Number(end_dt[1]) - 1) + "";
314
315    var from_dt = new Date(start_dt[0], start_dt[1], start_dt[2]);
316    var to_dt = new Date(end_dt[0], end_dt[1], end_dt[2]);
317
318    return (to_dt.getTime() - from_dt.getTime()) / 1000 / 60 / 60 / 24;
319}
320
321
322///////////////////////////////////////////////////////////////////////////////////////////////////
323// 모바일 체크
324///////////////////////////////////////////////////////////////////////////////////////////////////
325var isIPHONE = (navigator.userAgent.match('iPhone') != null || navigator.userAgent.match('iPod') != null);
326var isIPAD = (navigator.userAgent.match('iPad') != null);
327var isANDROID = (navigator.userAgent.match('Android') != null);
328
329function isMobile()
330{
331    var filter = "win16|win32|win64|mac|macintel";
332    if (navigator.platform) {
333        if (filter.indexOf(navigator.platform.toLowerCase()) < 0) {
334            return true;
335        }
336    }
337    return false;
338}
339///////////////////////////////////////////////////////////////////////////////////////////////////
340// 쿠키 설정
341///////////////////////////////////////////////////////////////////////////////////////////////////
342function setCookie(cName, cValue, cDay) {
343    var expire = new Date();
344    expire.setDate(expire.getDate() + cDay);
345    cookies = cName + '=' + escape(cValue) + '; path=/ '; // 한글 깨짐을 막기위해 escape(cValue)를 합니다.
346    if (typeof cDay != 'undefined') cookies += ';expires=' + expire.toGMTString() + ';';
347    document.cookie = cookies;
348}
349
350function getCookie(cName) {
351    cName = cName + '=';
352    var cookieData = document.cookie;
353    var start = cookieData.indexOf(cName);
354    var cValue = '';
355    if (start != -1) {
356        start += cName.length;
357        var end = cookieData.indexOf(';', start);
358        if (end == -1) end = cookieData.length;
359        cValue = cookieData.substring(start, end);
360    }
361    return unescape(cValue);
362}
363
364///////////////////////////////////////////////////////////////////////////////////////////////////
365// C# 의 String.Format 기능
366///////////////////////////////////////////////////////////////////////////////////////////////////
367function fn_StringFormat() {
368    var theString = arguments[0];
369
370    for (var i = 1; i < arguments.length; i++) {
371        var regEx = new RegExp("\\{" + (i - 1) + "\\}", "gm");
372        theString = theString.replace(regEx, arguments[i]);
373    }
374
375    return theString;
376}
377
378
379///////////////////////////////////////////////////////////////////////////////////////////////////
380// <br /> 태그 넣기
381///////////////////////////////////////////////////////////////////////////////////////////////////
382function fn_Set_BrTag(content) {
383    return content.split("\n").join("<br />");
384}
385
386
387///////////////////////////////////////////////////////////////////////////////////////////////////
388// 문자열 채우기
389///////////////////////////////////////////////////////////////////////////////////////////////////
390function fn_Pad(val, len, fillText, LRDiv) {
391    val = val + "";
392    while (val.length < len) {
393        if (LRDiv == "R") {
394            val = val + fillText;
395        } else {
396            val = fillText + val;
397        }        
398    }
399    return val;
400}
401
402
403///////////////////////////////////////////////////////////////////////////////////////////////////
404// TimeKey 받아오기
405///////////////////////////////////////////////////////////////////////////////////////////////////
406function fn_ValidateEmail(memberID, member_Email) {
407    var result;
408
409    $.ajax({
410        url: "/CommonAjax/ValidateEmail",
411        type: "POST",
412        data: { "MemberID": memberID, "Member_Email": member_Email },
413        async: false,
414        dataType: "JSON",
415        success: function (data) {
416            if (data.ResultCode == "1") {
417                result = "Y";
418            } else {
419                result = data.Message;
420            }
421        },
422        error: function (request, status, error) {
423            result = "";
424        }
425    });
426
427    return result;
428}
429
430
431
432///////////////////////////////////////////////////////////////////////////////////////////////////
433// 난수생성
434///////////////////////////////////////////////////////////////////////////////////////////////////
435function generateRandom (min, max) {
436    var ranNum = Math.floor(Math.random()*(max-min+1)) + min;
437    return ranNum;
438}
439
440
441///////////////////////////////////////////////////////////////////////////////////////////////////
442// byte check
443///////////////////////////////////////////////////////////////////////////////////////////////////
444function byteCheck(el) {
445    var codeByte = 0;
446    for (var idx = 0; idx < el.val().length; idx++) {
447        var oneChar = escape(el.val().charAt(idx));
448        if (oneChar.length == 1) {
449            codeByte++;
450        } else if (oneChar.indexOf("%u") != -1) {
451            codeByte += 2;
452        } else if (oneChar.indexOf("%") != -1) {
453            codeByte++;
454        }
455    }
456    return codeByte;
457}
458
459
460$.urlParam = function (name) {
461    var results = new RegExp('[\?&amp;]' + name + '=([^&amp;#]*)').exec(window.location.href);
462    return results[1] || 0;
463}

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.