숫자 입력 시 콤마(,) 또는 %나 특정 기호를 붙여줘야 할 때가 있다.



$( object ).keyup(function(e){
      // 현재 입력값에서 공백 떼고, % 떼고 , if) 1 %5 > 15
      var oldValue = $(this).val().replace(/\s/g, '').replace(/\%/g, '');
      var rate;
      
      // back space
      if(e.which == 8){
           // if) 15 > 1
           rate = oldValue.substr(0, oldValue.length - 1);
      }
      else {
           rate = oldValue;
      }
      
      rate = (rate == '')         // if) 5 %에서 백스페이스 누른 경우 rate 값은 빈 string
                 ? ''             // 화면에 공백 보여주고
                 : rate + ' %';   // if) 15 %에서 백스페이스 누른 경우 rate 값은 1이므로 % 붙여준다.
      
      $(this).val(rate);
});

'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

numbers, -, home, end, left arrow, right arrow, backspace 등 특정 키만 입력받기..



$( object ).keypress(function(e){
      var key = e.which;              // 누른 key code 
      if((key >= 48 && key <= 57) ||  // 숫자열 0 ~ 9 : 48 ~ 57    
           key == 45 ||               // -
           key == 8 ||                // BackSpace
           key == 46 ||               // Delete
           key == 37 ||               // 좌 화살표
           key == 39 ||               // 우 화살표
           key == 35 ||               // End 키
           key == 36 ||               // Home 키
           key == 9 ){                // Tab 키
           
      }else {
           return false;
      }      
});

'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

자바스크립트에서 String을 Date로 바꾸는 코드는 크게 2가지가 있다.

1번

var src = '2018-11-29'; var values = src.split('-'); var date1 = new Date(values[0], Number(values[1])-1, values[2]); console.log( date1.toISOString() ); // 2018-11-28T15:00:00.000Z console.log( date1 ); // Sat Nov 29 2018 00:00:00 GMT+0900


2번
var src = '2018-11-29';
var date2 = new Date(Date.parse(src));
console.log( date2.toISOString() );         // 2018-11-29T00:00:00.000Z
console.log( date2 );                       // Thu Nov 29 2018 09:00:00 GMT+0900

위 두가지 모두 Date 객체로 변환되는데 얼핏 보면 두 값 모두 같을 것 같다.
하지만 밀리세컨드로 값을 표시하면?

date1.getTime();        // 1543417200000
date2.getTime();        // 1543449600000

값이 다르다.

1번의 경우 GMT 기준으로 변환(parse) 한다. 
그래서 GMT 기준으로 출력하게 되면 값이 제대로 나오는데 ISO표준으로 출력하게 되면 GMT를 무시한 값을 출력한다. 
그래서 출력값이 29일이 아닌 28일이 되어버린다. (GMT 9시간 빼버림)

2번의 경우 GMT 기준이 아닌 애초에 UTC (GMT + 0) 기준으로 변환 해버린다.
그래서 ISO표준으로 출력하게 되면 애초에 GMT 무시한 값이기 때문에 29일이라고 나온다.

date1과 date2의 차이는 32400000인데 이 값은 (60 * 60 * 9 * 1000) 와 같다.


국가간 시스템에서 GMT 계산하느냐 안하냐느냐는 큰 문제이므로 통일해서 사용한다.


'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28


var nodeName = '';
function makeXml(element, str) {
	$.each(element, function(key, sub){
		if( sub instanceof Object){
			if ( sub instanceof Array ){
				$.each(sub, function(idx, data){
					str += makeXml(data, '');
					str += '';
				});
			}
			else{
				nodeName = '<'+key+'>';
				str += makeXml(sub, nodeName);
				str += '';
			}
		}
		else{
			var value = sub;
			if(key == 'text'){
				str += (value==null)?'':value;
			}
		}
	});
	return str;
}


	var headerSet = {};
	headerSet.staticsticKind = {text:'복합기후요소'};
	headerSet.staticsticDate = {text:'년도별: 2010 ~ 2012년'};
	headerSet.stn = {text:'강릉(105), 대관령(100), 동해(106), 북강릉(104), 속초(90), 영월(121), 원주(114), 인제(211), 정선군(217), 철원(95), 춘천(101), 태백(216), 홍천(212)'};
	headerSet.staticsticEtcCondition = {text:''};
	headerSet.staticsticPrintColumn = {text:'평균기온,최고기온,최저기온'};
	$.each(chartUploadFilePath, function(idx, path){
		headerSet[staticsticChartPath+(idx+1)] = {text:path};
	});
	headerSet.lastTitleVal = {text:'복합요소 통계보고서'};
	headerSet.firstColumn = {text:'지점번호'};
	headerSet.secondColumn = {text:'요소'};

	var resultData = {};
	resultData.headerSet = headerSet;

	var source = {};
	source.resultData = resultData;
	var xml = '';
	var result = makeXml(source, xml);
	console.log(result);


v

'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

● 값으로 지우기
Array.prototype.removeByValue = function() {
	if(!Array.prototype.indexOf) {
	    Array.prototype.indexOf = function(what, i) {
	        i = i || 0;
	        var L = this.length;
	        while (i < L) {
	            if(this[i] === what) return i;
	            ++i;
	        }
	        return -1;
	    };
	}
    var what, a = arguments, L = a.length, ax;
    while (L && this.length) {
        what = a[--L];
        while ((ax = this.indexOf(what)) !== -1) {
            this.splice(ax, 1);
        }
    }
    return this;
};


● 인덱스로 지우기
Array.prototype.removeByIdx = function(idx) {
    return (idx<0 || idx>this.length) ? this : this.slice(0, idx).concat(this.slice(idx+1, this.length));
};

'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

+ Recent posts