2016년 8월 24일 수요일

자주쓰는 스크립트

/*
 * 공통스크립트 함수를 정의
 * fn_ 을 앞에 붙여서 사용해 주십시오.
 */

//값을 넘겼을때 널이나 undefined면 공백값을 리턴
function fn_getNullValueToEmptyValue(obj)
{
if(obj == null || (typeof obj == 'undefined')){
return "";
}else{
return obj;
}
}

//문자사이에 공백이 있을때 제거
//var str = "ab c d efg"; ==> abcdefg
function fn_getStrRemoveSpace(str)
{
if(str == null ||  (typeof obj == 'undefined')){
return str;
}else{
return str.replace(/\s/g,"");
}
}

//날짜로 넘어온 값이 없을 경우 xxxx.01.01 에서 .. 가 나온다 이 부분을 제거
function fn_getEmptyDateToDoublePriod(str)
{
if(str == null ||  (typeof obj == 'undefined')){
return str;
}else{
return str.replace("..","");
}
}

//replaceAll
//str: 전체 문자열, currchar : 바꿀 대상 문자열, repchar : 변경할 문자열
function fn_replaceAll(str, currchar, repchar){
return str.split(currchar).join(repchar);
}

function byteArray2String (bary) {

var result = [];

for(var i = 0;i< bary.length;i+=2) {

var h = (bary[i] << 8);

var d =  h + bary[i+1];

result.push(d);

}


return String.fromCharCode.apply(String, result);


//return result;

}


//StringBuffer 를 사용할 수 있게 선언
/*
아래와 같이 사용
var sb = new StringBuffer();
sb.append("Hello ");
sb.append("Java");
sb.append("script!");
document.write(sb.toString());
*/

var StringBuffer = function() {
    this.buffer = new Array();
};

StringBuffer.prototype.append = function(str) {
    this.buffer[this.buffer.length] = str;
};

StringBuffer.prototype.toString = function() {
    return this.buffer.join("");
};
//StringBuffer 선언 끝


//영문대문자 && 숫자만 입력되게
function fn_isAlphaNum(){
var mkey = event.keyCode;

if ( (mkey<48||mkey>57) &&(mkey<65||mkey>90)&&(mkey<97||mkey>122))
{
 event.returnValue=false;
}
}

//날짜 유효성 체크
function isDate(yyyymmdd)
{
  var regExp = new RegExp("-","g");              
  var yyyymmdd = yyyymmdd.replace(/-/g,"").replace(regExp,"");
  if(yyyymmdd.length != 8)
  return false;

  var yyyy       = yyyymmdd.substr(0,4);
  var mm         = yyyymmdd.substr(4,2);
  var dd         = yyyymmdd.substr(6,2);            

  var date =new Date(yyyy+'/'+mm+'/'+dd );
  var month = date.getMonth() + 1;
  var day = date.getDate() ;

  if( month !=String(mm))
  return false;
  if( day !=String(dd))
  return false;
  else
  return true;

}

function isDate2(yyyymmdd)
{
  if(yyyymmdd.length != 8)
  return false;

  var yyyy       = yyyymmdd.substr(0,4);
  var mm         = yyyymmdd.substr(4,2);
  var dd         = yyyymmdd.substr(6,2);            

  var date =new Date(yyyy+'/'+mm+'/'+dd )
  var month = date.getMonth() + 1;
  var day = date.getDate() ;

  if( month !=String(mm))
  return false;
  if( day !=String(dd))
  return false;
  else
  return true;

}

//html 문자형을 치환
function fn_escapeHtml(str)
{
val = fn_getNullValueToEmptyValue(str);
val = val.replace(/&/g, "&amp;");
val = val.replace(/</g, "&lt;");
val = val.replace(/>/g, "&gt;");
//val = val.replace(/\s/g, "&nbsp;");  //모든 공백을 의미
//val = val.replace(/ /g, "&nbsp;");  //한칸 띄기를 의미
val = val.replace(/\r\n/g, "<br />");
val = val.replace(/\n/g, "<br />");
val = val.replace(/'/g, "&#39;");
val = val.replace(/"/g, "&quot;");
return val;
}

//html 문자형을 치환
function fn_escapeHtml2(str)
{
val = fn_getNullValueToEmptyValue(str);
val = val.replace(/&/g, "&amp;");
val = val.replace(/</g, "&lt;");
val = val.replace(/>/g, "&gt;");
//val = val.replace(/\s/g, "&nbsp;");  //모든 공백을 의미
val = val.replace(/ /g, "&nbsp;");  //한칸 띄기를 의미
val = val.replace(/\r\n/g, "<br />");
val = val.replace(/\n/g, "<br />");
val = val.replace(/'/g, "&#39;");
val = val.replace(/"/g, "&quot;");
return val;
}

/*
 * 자릿수 앞자리 0 채우기
 * fn_fillZeros([num], [자릿수])
 * > fn_fillZeros(12, 3) -> '012'
 */
function fn_fillZeros(n, digits) {
var zero = '';

n = n.toString();

if (n.length < digits) {
for (var i = 0; i < digits - n.length; i++) {
   
zero += '0';
   }
}

return zero + n;
}

$(document).ready(function(){
/*
* 입력화면에서 사용된다.
* _n: 숫자만
* _h : 한글만
*  _j : 주소타입(333-12)
*  _p: 숫자소수점(0.3)
*  8:backspace , 9 : tabkey
*/

$(document).on("keydown", "input", function(event){
//if((event.keyCode>47)&&(event.keyCode<58) || event.keyCode == 46) {
  var keycode = (event.keyCode ? event.keyCode : event.which);
if($(this).attr("id") != null || $(this).attr("id")=="")
{
  //number 입력가능
  if($(this).attr("id").indexOf("_n") != -1){
//alert(keycode);
if((keycode>47)&&(keycode<58) || (keycode>=96 && keycode<=105) ||  keycode == 8 || keycode==9 || keycode==46) {

} else {
event.preventDefault();
}
}
//_j : 주소
else if ($(this).attr("id").indexOf("_j") != -1){
if((keycode>47)&&(keycode<58) || (keycode>=96 && keycode<=105)  || keycode == 8 || keycode == 189 || keycode == 109 || keycode==9) {

} else {
event.preventDefault();
}
}
//소수점
else if ($(this).attr("id").indexOf("_p") != -1){
if((keycode>47)&&(keycode<58) || (keycode>=96 && keycode<=105)  || keycode == 8 || keycode == 190 || keycode == 110 || keycode==9) {

} else {
event.preventDefault();
}
}
//날짜형(calendar)
else if($(this).attr("id").indexOf("_c") != -1){
//alert(keycode);
if((keycode>47)&&(keycode<58) || (keycode>=96 && keycode<=105) ||  keycode == 8 || keycode==9 || keycode==46) {

} else {
event.preventDefault();
}
}
}
    });

});

2016년 3월 17일 목요일

jquery 모바일 changePage

$.mobile.changePage(url, option)
-- option
* changeHash:true >> 히스토리 저장 (기본값)
    * changeHash:false >> 히스토리 저장 하지 않음

스크립트 정리(2)

1. 바이트 to String
function byteArray2String (bary) {
var result = [];
for(var i = 0;i< bary.length;i+=2) {
var h = (bary[i] << 8);
var d =  h + bary[i+1];
result.push(d);
}
return String.fromCharCode.apply(String, result);
}

2. 영문대문자 && 숫자만 입력되게
function fn_isAlphaNum(){
var mkey = event.keyCode;
 if ( (mkey<48||mkey>57) &&(mkey<65||mkey>90)&&(mkey<97||mkey>122)){
 event.returnValue=false;
}
}

3.날짜 유효성 체크
function isDate(yyyymmdd)
{
  var regExp = new RegExp("-","g");              
  var yyyymmdd = yyyymmdd.replace(/-/g,"").replace(regExp,"");
  if(yyyymmdd.length != 8){
  return false;
           }
  var yyyy       = yyyymmdd.substr(0,4);
  var mm         = yyyymmdd.substr(4,2);
  var dd         = yyyymmdd.substr(6,2);            
  var date =new Date(yyyy+'/'+mm+'/'+dd );
  var month = date.getMonth() + 1;
  var day = date.getDate() ;
  if( month !=String(mm)){
  return false;
           }
  if( day !=String(dd)) {
  return false;
   }else{
  return true;
           }
}

function isDate2(yyyymmdd)
{
  if(yyyymmdd.length != 8){
  return false;
           }
  var yyyy       = yyyymmdd.substr(0,4);
  var mm         = yyyymmdd.substr(4,2);
  var dd         = yyyymmdd.substr(6,2);            

  var date =new Date(yyyy+'/'+mm+'/'+dd )
  var month = date.getMonth() + 1;
  var day = date.getDate() ;

  if( month !=String(mm)){
  return false;
           }
  if( day !=String(dd)){
  return false;
   }else{
  return true;
           }
}

4. html 문자형을 치환
function fn_escapeHtml(str)
{
val = fn_getNullValueToEmptyValue(str);
val = val.replace(/&/g, "&amp;");
val = val.replace(/</g, "&lt;");
val = val.replace(/>/g, "&gt;");
//val = val.replace(/\s/g, "&nbsp;");  //모든 공백을 의미
//val = val.replace(/ /g, "&nbsp;");  //한칸 띄기를 의미
val = val.replace(/\r\n/g, "<br />");
val = val.replace(/\n/g, "<br />");
val = val.replace(/'/g, "&#39;");
val = val.replace(/"/g, "&quot;");
return val;
}

//html 문자형을 치환
function fn_escapeHtml2(str)
{
val = fn_getNullValueToEmptyValue(str);
val = val.replace(/&/g, "&amp;");
val = val.replace(/</g, "&lt;");
val = val.replace(/>/g, "&gt;");
//val = val.replace(/\s/g, "&nbsp;");  //모든 공백을 의미
val = val.replace(/ /g, "&nbsp;");  //한칸 띄기를 의미
val = val.replace(/\r\n/g, "<br />");
val = val.replace(/\n/g, "<br />");
val = val.replace(/'/g, "&#39;");
val = val.replace(/"/g, "&quot;");
return val;
}

5. 자릿수 앞자리 0 채우기
/*
 * fn_fillZeros([num], [자릿수])
 * > fn_fillZeros(12, 3) -> '012'
 */
function fn_fillZeros(n, digits) {
var zero = '';
n = n.toString();
if (n.length < digits) {
    for (var i = 0; i < digits - n.length; i++) {    
       zero += '0';
   }
}
return zero + n;
}

2015년 12월 23일 수요일

스크립트 정리(1)

1. 값을 넘겼을때 null 또는 undefined면 공백값 리턴
function aaaa(obj){
   if(obj == null || (typeof obj == "undefined")){
       return "";
   }else{
       return obj;
   }
}

2. 문자사이에 공백이 있을때 제거
function aaaa(obj){
    if(obj == null || (typeof obj == "undefined")){
       return "";
   }else{
       return obj.replace(/\s/g, "");
   }
}
///////////////////////////////////////////
3. 년월일(YYYY.MM.DD) 값일경우 . . 부분 제거
function aaaa(obj){
    if(obj == null || (typeof obj == "undefined")){
       return "";
   }else{
       return obj.replace("..", "");
   }
}
///////////////////////////////////////////////
4. replacAll
//obj : 전체 문자열, currchar:바꿀 대상 문자열, repchar:변경할 문자열
function aaaa(obj, currchar, repchar){
    if(obj == null || (typeof obj == "undefined")){
       return "";
   }else{
       return obj.split(currchar).join(repchar);
   }
}
/////////////////////////////////////////////////////
5. StringBuffer를 사용할 수 있도록 함
var StringBuffer = function(){
    this.buffer = new Array();
};
StringBuffer.prototype.append = function(str){
     this.buffer[this.buffer.length] = str;
};
StringBuffer.prototype.toString = function(){
     return this.buffer.join("");
}
///////////////////////////////////////////////////////

2014년 12월 23일 화요일

FullCalender 샘플

/** 상세 내용은 링크 따라 가세요**/

원본 출처 : http://fullcalendar.io/
다운로드 : http://fullcalendar.io/download/

Html에
<link rel='stylesheet' href='../lib/cupertino/jquery-ui.min.css' />
<link href='../fullcalendar.css' rel='stylesheet' />
<link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../lib/moment.min.js'></script>
<script src='../lib/jquery.min.js'></script>
<script src='../fullcalendar.min.js'></script>
<script src='../lang-all.js'></script>
되어 있어야함.

$('#calendar').fullCalendar({
     header : {
         left : 'prev,next today',
 center : 'title',
 right : 'month,agendaWeek,agendaDay'
     },
     defaultDate: '2014-11-12',
     lang: 'ko',
     buttonIcons: false, // show the prev/next text
     weekNumbers: true,
     editable: true,
     eventLimit: true, // allow "more" link when too many events
     events: [
{
title: 'All Day Event',
start: '2014-11-01'
},
{
title: 'Long Event',
start: '2014-11-07',
end: '2014-11-10'
},
{
id: 999,
title: 'Repeating Event',
start: '2014-11-09T16:00:00'
},
{
id: 999,
title: 'Repeating Event',
start: '2014-11-16T16:00:00'
},
{
title: 'Conference',
start: '2014-11-11',
end: '2014-11-13'
},
{
title: 'Meeting',
start: '2014-11-12T10:30:00',
end: '2014-11-12T12:30:00'
},
{
title: 'Lunch',
start: '2014-11-12T12:00:00'
},
{
title: 'Meeting',
start: '2014-11-12T14:30:00'
},
{
title: 'Happy Hour',
start: '2014-11-12T17:30:00'
},
{
title: 'Dinner',
start: '2014-11-12T20:00:00'
},
{
title: 'Birthday Party',
start: '2014-11-13T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
start: '2014-11-28'
}
]


});
 [Option] 
   - Header: Calender 상단 title 과 button 설정
         left, rigth, center 위치 지정
   - defaultDate : ISO8601 에 따른 현재일 설정 형식은"2014-12-24" 와 같음.
   - lang : 언어 설정 (영어:en, 한국어 : ko 등등)
   - buttonIcons : 기본 false, theme를 사용할려면 true, theme 사용
      시 themeButtonIcons 옵션 추가
   - weekNumbers : true일때 월(Month) 선택시 주차 표시, false 일경우 주차 표시 안함.
   - editable : true 일때 드래그 또는 사이즈 조정을 하도록함, false 일경우 드래그 또는 사이즈 조정을 하지 않음
[Property Value]
title : 월/주/일 텍스트
prev : 이전 버튼(월/주/일)
next : 다음 버튼(월/주/일)
today : 이전/다음으로 월/주/일 이동한 상태에서 현재 일자로 이동하는 버튼

























2013년 9월 11일 수요일

parameter로 넘어온 string변수가 null이면 공백없는 string값을 넘긴다.

public static String replaceNull(String value) {
if (value == null || value.equals("") || value.equals("null"))
return "";
else
return (value.trim());
}

2013년 6월 13일 목요일

이클립스 단축 키

대문자, 소문자 변환 단축키
 소문자 -> 대문자 변환
   Ctrl+Shift+x
 대문자 -> 소분자 변환
   Ctrl+Shift+y