엠

많이 쓰이는 자바스크립트

/*---------------------------------------------

* 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();
}
}<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
06-09-11 조회 3,306
06-09-10 조회 3,132
06-09-05 조회 5,463
06-09-02 조회 3,927
06-09-01 조회 3,278
06-09-01 조회 3,606
06-08-27 조회 3,386
06-08-27 조회 3,138
06-08-27 조회 2,920
06-08-27 조회 2,663
06-08-27 조회 2,574
06-08-25 조회 4,096
06-08-25 조회 2,635
06-08-23 조회 4,927
06-08-20 조회 3,664
06-08-19 조회 3,488
06-08-18 조회 2,918
06-08-18 조회 3,020
06-08-11 조회 4,183
06-08-10 조회 2,861
06-08-06 조회 4,522
06-08-05 조회 3,311
06-08-05 조회 2,796
06-07-31 조회 3,442
06-07-30 조회 2,990
06-07-29 조회 3,423
06-07-26 조회 2,926
06-07-26 조회 3,330
06-07-25 조회 3,799
06-07-20 조회 3,463
06-07-20 조회 3,756
06-07-19 조회 3,914
06-07-19 조회 2,987
06-07-19 조회 4,822
06-07-14 조회 3,773
06-07-13 조회 4,056
06-07-11 조회 3,109
06-07-11 조회 2,865
06-07-11 조회 4,814
06-07-11 조회 2,626
06-07-11 조회 2,989
06-06-24 조회 4,044
06-06-24 조회 3,497
06-06-13 조회 4,437
06-06-13 조회 3,342
06-06-11 조회 3,254
06-06-08 조회 3,315
06-06-08 조회 3,445
06-06-08 조회 3,862
06-06-07 조회 3,735
06-06-05 조회 3,957
06-06-02 조회 3,536
06-06-01 조회 4,197
06-05-28 조회 3,854
06-05-26 조회 4,414
06-05-22 조회 3,245
06-05-15 조회 3,731
06-05-14 조회 7,086
06-05-11 조회 3,627
06-05-11 조회 4,203
06-05-11 조회 3,672
06-05-11 조회 2,577
06-05-11 조회 2,845
06-05-11 조회 2,505
06-05-10 조회 3,994
06-05-09 조회 4,867
06-05-07 조회 2,664
06-05-07 조회 2,896
06-05-07 조회 2,599
06-05-06 조회 3,774
06-04-28 조회 3,437
06-04-25 조회 3,838
06-04-25 조회 3,558
06-04-22 조회 3,583
06-04-18 조회 4,597
06-04-14 조회 5,256
06-03-27 조회 3,883
06-03-06 조회 3,881
06-03-05 조회 5,196
06-02-24 조회 3,819
06-02-23 조회 4,228
06-02-22 조회 4,054
06-02-22 조회 3,356
06-01-15 조회 3,705
06-01-10 조회 3,673
06-01-05 조회 4,891
05-12-30 조회 5,596
05-12-23 조회 3,737
05-12-01 조회 3,442
05-09-29 조회 4,556
05-09-27 조회 4,941
05-09-22 조회 6,168
05-09-15 조회 3,119
05-09-08 조회 3,975
05-09-05 조회 5,686
05-09-01 조회 4,756
05-09-01 조회 5,888
05-08-21 조회 3,339
05-08-18 조회 3,690
05-08-17 조회 3,793