-
개발시 자주 사용하는 스크립트 모음.Programming/JAVASCRIPT 2010. 5. 3. 08:21
- String 문자 자르기.
String.prototype.cut = function(len) { var str = this; var l = 0; for (var i=0; i<str.length; i++) { l += (str.charCodeAt(i) > 128) ? 2 : 1; if (l > len) return str.substring(0,i); } return str; }
- String 공백 지우기.
String.prototype.trim = function(){ // Use a regular expression to replace leading and trailing // spaces with the empty string return this.replace(/(^\s*)|(\s*$)/g, ""); }
- String 총 바이트 수 구하기.
String.prototype.bytes = function() { var str = this; var l = 0; for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1; return l; }
- iframe의 height를 body의 내용만큼 자동으로 늘려줌.
function resizeRetry(){ if(ifrContents.document.body.readyState == "complete"){ clearInterval(ifrContentsTimer); } else{ resizeFrame(ifrContents.name); } } var ifrContentsTimer; var ifrContents; function resizeFrame(name){ var oBody = document.body; var oFrame = parent.document.all(name); ifrContents = oFrame; var min_height = 613; //iframe의 최소높이(너무 작아지는 걸 막기위함, 픽셀단위, 편집가능) var min_width = 540; //iframe의 최소너비 var i_height = oBody.scrollHeight + 10; var i_width = oBody.scrollWidth + (oBody.offsetWidth-oBody.clientWidth); if(i_height < min_height) i_height = min_height; if(i_width < min_width) i_width = min_width; oFrame.style.height = i_height; ifrContentsTimer = setInterval("resizeRetry()",100); }
- 클립보드에 해당 내용을 복사함.
function setClipBoardText(strValue){ window.clipboardData.setData('Text', strValue); alert("" + strValue +" \n\n위 내용이 복사되었습니다.\n\nCtrl + v 키를 사용하여, 붙여 넣기를 사용하실 수 있습니다."); }
- select 에서 기존의 선택 값이 선택되게
function selOrign(frm,val){ for(i=0; i < frm.length ; i++){ if(frm.options[i].value == val){ frm.options.selectedIndex = i ; return; } } }
- checkbox 에서 기존의 선택 값이 선택되게
function chkboxOrign(frm,val){ if(frm.length == null){ if(frm.value == val) frm.checked = true; }else{ for(i=0;i<frm.length;i++){ if(frm[i].value == val){ frm[i].checked = true; } } return; } } function chkboxOrign_multi(frm,objchk,val){ var i = 0; for(i=0;i<frm.elements.length;i++){ if(frm.elements[i].name == objchk){ if(frm.elements[i].value == val){ frm.elements[i].checked = true; } } } }
- radio 에서 기존의 선택 값이 선택되게
function radioOrign(frm,val){ for(i=0; i < frm.length ; i++){ if(frm[i].value == val){ frm[i].checked = true ; return ; } } }
- 숫자만 입력받기
예) onKeyDown="return onlyNum();"
function onlyNum(){ if( (event.keyCode >= 48 && event.keyCode <=57) || (event.keyCode >= 96 && event.keyCode <=105) || (event.keyCode >= 37 && event.keyCode <=40) || event.keyCode == 9 || event.keyCode == 8 || event.keyCode == 46 ){ //48-57(0-9) //96-105(키패드0-9) //8 : backspace //46 : delete key //9 :tab //37-40 : left, up, right, down event.returnValue=true; } else{ //alert('숫자만 입력 가능합니다.'); event.returnValue=false; } }
- 지정된 길이반큼만 입력받기
예) onKeyUp="return checkAllowLength(현재숫자보여지는객체,숫자셀객체 ,80);" onKeyDown="return checkAllowLength(현재숫자보여지는객체,숫자셀객체 ,80);"
function checkAllowLength(objView, objTar, max_cnt){ if(event.keyCode > 31 || event.keyCode == "") { if(objTar.value.bytes() > max_cnt){ alert("최대 " + max_cnt + "byte를 넘길 수 없습니다."); objTar.value = objTar.value.cut(max_cnt); } } objView.value = objTar.value.bytes(); }
- 이미지 리사이즈
function resizeImg(imgObj, max_width, max_height){ var dst_width; var dst_height; var img_width; var img_height; img_width = parseInt(imgObj.width); img_height = parseInt(imgObj.height); if(img_width == 0 || img_height == 0){ imgObj.style.display = ''; return false; } // 가로비율 우선으로 시작 if(img_width > max_width || img_height > max_height) { // 가로기준으로 리사이즈 dst_width = max_width; dst_height = Math.ceil((max_width / img_width) * img_height); // 세로가 max_height 를 벗어났을 때 if(dst_height > max_height) { dst_height = max_height; dst_width = Math.ceil((max_height / img_height) * img_width); } imgObj.width = dst_width; imgObj.height = dst_height; } // 가로비율 우선으로 끝 imgObj.style.display = ''; return true; }
- xml data 읽어오기
function getXmlHttpRequest(_url, _param){ var objXmlConn; try{objXmlConn = new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e){try{objXmlConn = new ActiveXObject("Microsoft.XMLHTTP");}catch(oc){objXmlConn = null;}} if(!objXmlConn && typeof XMLHttpRequest != "undefined") objXmlConn = new XMLHttpRequest(); objXmlConn.open("GET", _url + "?" + _param, false); objXmlConn.send(null); //code|message 형태로 리턴 return objXmlConn.responseText.trim().split("|"); }
- cookie 설정
function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { //while open var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } //while close return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (2 < argc) ? argv[2] : null; var path = (3 < argc) ? argv[3] : null; var domain = (4 < argc) ? argv[4] : null; var secure = (5 < argc) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }
- 함수명 : checkSpecialChar
- 설 명 : 특수문자 체크
- 예) if(!checkSpecialChar()) return;
function checkSpecialChar(_obj){ if(_obj.value.search(/[\",\',<,>]/g) >= 0) { alert("문자열에 특수문자( \", ', <, > )가 있습니다.\n특수문자를 제거하여 주십시오!"); _obj.select(); _obj.focus(); } }
'Programming > JAVASCRIPT' 카테고리의 다른 글
유용한 자바 스크립트 함수. (0) 2010.08.13 접근성을 해치지 않는 자바스크립트. (0) 2010.05.14 누구나 쉽게 익히자. 자바 스크립트 정규식 ..!! (0) 2010.05.12 prototype.js 알고 사용하자. (0) 2010.05.06 쉽게 배우는 정규식 사용법. (0) 2010.05.03