엠

많이 쓰이는 자바스크립트

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

* 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건
+
제목 글쓴이 날짜 조회
07-07-16 조회 3,109
07-07-06 조회 2,982
07-07-06 조회 3,423
07-06-23 조회 3,249
07-06-16 조회 2,761
07-05-20 조회 4,258
07-05-09 조회 3,441
07-05-09 조회 6,077
07-05-04 조회 2,677
07-04-30 조회 9,813
07-04-27 조회 4,314
07-04-26 조회 3,431
07-04-25 조회 5,260
07-04-18 조회 7,764
07-04-13 조회 3,096
07-04-12 조회 6,613
07-04-12 조회 5,021
07-04-12 조회 3,327
07-04-11 조회 5,698
07-04-05 조회 6,345
07-03-24 조회 4,396
07-03-20 조회 3,718
07-03-18 조회 3,978
07-03-18 조회 4,727
07-03-17 조회 4,223
07-03-16 조회 4,118
07-03-15 조회 5,277
07-03-13 조회 5,379
07-03-13 조회 3,572
07-03-08 조회 4,480
07-03-08 조회 3,965
07-03-08 조회 3,279
07-03-08 조회 4,166
07-03-05 조회 4,411
07-03-04 조회 2,895
07-03-01 조회 5,930
07-02-28 조회 3,222
07-02-27 조회 4,391
07-02-26 조회 3,299
07-02-26 조회 3,017
07-02-23 조회 3,649
07-02-23 조회 3,619
07-02-22 조회 3,999
07-02-22 조회 3,807
07-02-19 조회 3,838
07-02-17 조회 4,854
07-02-14 조회 8,154
07-02-12 조회 3,920
07-02-10 조회 3,532
07-02-02 조회 3,783
07-01-31 조회 3,459
07-01-29 조회 3,317
07-01-25 조회 5,098
07-01-21 조회 3,248
07-01-19 조회 3,032
06-12-15 조회 4,031
06-12-15 조회 4,445
06-12-15 조회 2,934
06-12-15 조회 4,476
06-12-15 조회 3,376
06-12-15 조회 4,085
06-12-15 조회 3,027
06-12-15 조회 2,750
06-12-15 조회 4,621
06-12-15 조회 3,166
06-12-15 조회 3,266
06-12-07 조회 4,704
06-12-07 조회 3,996
06-12-04 조회 4,639
06-11-27 조회 3,682
06-11-21 조회 4,005
06-11-15 조회 3,434
06-11-04 조회 3,317
06-10-29 조회 3,971
06-10-13 조회 3,830
06-10-13 조회 4,204
06-10-13 조회 4,166
06-10-12 조회 5,358
06-10-12 조회 4,266
06-10-04 조회 3,768
06-10-02 조회 4,555
06-09-29 조회 3,038
06-09-26 조회 3,381
06-09-26 조회 3,637
06-09-26 조회 3,284
06-09-26 조회 3,435
06-09-26 조회 4,336
06-09-25 조회 4,640
06-09-22 조회 4,979
06-09-22 조회 3,546
06-09-21 조회 4,313
06-09-21 조회 4,322
06-09-21 조회 3,537
06-09-21 조회 5,185
06-09-21 조회 3,717
06-09-21 조회 3,449
06-09-20 조회 3,018
06-09-15 조회 3,136
06-09-13 조회 3,458
06-09-11 조회 3,274