많이 쓰이는 자바스크립트

· 2006-12-15 (금) 12:20:54 · 4350
/*---------------------------------------------

* 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,055
07-07-06 조회 2,915
07-07-06 조회 3,377
07-06-23 조회 3,204
07-06-16 조회 2,686
07-05-20 조회 4,202
07-05-09 조회 3,374
07-05-09 조회 6,021
07-05-04 조회 2,600
07-04-30 조회 9,730
07-04-27 조회 4,253
07-04-26 조회 3,368
07-04-25 조회 5,154
07-04-18 조회 7,704
07-04-13 조회 3,033
07-04-12 조회 6,546
07-04-12 조회 4,950
07-04-12 조회 3,270
07-04-11 조회 5,651
07-04-05 조회 6,299
07-03-24 조회 4,348
07-03-20 조회 3,656
07-03-18 조회 3,903
07-03-18 조회 4,686
07-03-17 조회 4,170
07-03-16 조회 4,078
07-03-15 조회 5,219
07-03-13 조회 5,312
07-03-13 조회 3,515
07-03-08 조회 4,438
07-03-08 조회 3,912
07-03-08 조회 3,225
07-03-08 조회 4,091
07-03-05 조회 4,321
07-03-04 조회 2,852
07-03-01 조회 5,888
07-02-28 조회 3,174
07-02-27 조회 4,344
07-02-26 조회 3,250
07-02-26 조회 2,947
07-02-23 조회 3,598
07-02-23 조회 3,567
07-02-22 조회 3,950
07-02-22 조회 3,744
07-02-19 조회 3,766
07-02-17 조회 4,790
07-02-14 조회 8,095
07-02-12 조회 3,858
07-02-10 조회 3,470
07-02-02 조회 3,702
07-01-31 조회 3,365
07-01-29 조회 3,214
07-01-25 조회 4,989
07-01-21 조회 3,163
07-01-19 조회 2,967
06-12-15 조회 3,955
06-12-15 조회 4,364
06-12-15 조회 2,860
06-12-15 조회 4,412
06-12-15 조회 3,277
06-12-15 조회 3,995
06-12-15 조회 2,961
06-12-15 조회 2,676
06-12-15 조회 4,555
06-12-15 조회 3,109
06-12-15 조회 3,181
06-12-07 조회 4,631
06-12-07 조회 3,923
06-12-04 조회 4,534
06-11-27 조회 3,618
06-11-21 조회 3,930
06-11-15 조회 3,362
06-11-04 조회 3,255
06-10-29 조회 3,910
06-10-13 조회 3,770
06-10-13 조회 4,139
06-10-13 조회 4,089
06-10-12 조회 5,292
06-10-12 조회 4,214
06-10-04 조회 3,698
06-10-02 조회 4,486
06-09-29 조회 2,980
06-09-26 조회 3,317
06-09-26 조회 3,571
06-09-26 조회 3,210
06-09-26 조회 3,371
06-09-26 조회 4,270
06-09-25 조회 4,570
06-09-22 조회 4,884
06-09-22 조회 3,466
06-09-21 조회 4,207
06-09-21 조회 4,199
06-09-21 조회 3,475
06-09-21 조회 5,138
06-09-21 조회 3,643
06-09-21 조회 3,405
06-09-20 조회 2,937
06-09-15 조회 3,074
06-09-13 조회 3,375
06-09-11 조회 3,194