728x90

[소스코드]

          /**
           * @description 좌측공백을 제거한다.
           * @param {string} 문자열
           * @return {string} 좌측 공백이 제거된 문자열
           */
          trimL: function (s) {

                var result = s.replace(/^[ ]*/g, '');

                console.log('입력값 : |' + s + '| >> 출력값 : |' + result + '|'); 

                return result;

          },
          /**
           * @description 우측공백을 제거한다.
           * @param {string} 문자열
           * @return {string} 우측 공백이 제거된 문자열
           */
          trimR: function (s) {
    
                var result = s.replace(/[ ]*$/g, '');

                console.log('입력값 : |' + s + '| >> 출력값 : |' + result + '|'); 

                return result;

          },
          /**
           * @description 공백을 제거한다.
           * @param {string} 문자열
           * @return {string} 공백이 제거된 문자열
           */
          trim: function (s) {

                var result = s.trim();

                console.log('입력값 : |' + s + '| >> 출력값 : |' + result + '|');

                return result;

          },

 

[실행결과]

 

[첨부파일]

test.html
0.00MB

728x90
반응형
728x90

[소스코드]

          /**
           * @description 유일한 ID를 반환한다.
           * @param {string} ID 앞에 붙여지는 문자열
           * @param {string} ID 생성시 구분되는 문자열
           * @return {string} 유일한 ID
           */
          uuid: function (prefix, separator) {

                var result = '';

                if(!separator) separator = '-';

                prefix = (!prefix) ? '' : prefix + separator;

                var char = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
                var u = Date.now().toString(16) + Math.random().toString(16) + '0'.repeat(16);

                var argv1 = u.substr(0,8);
                var argv2 = u.substr(8,4);
                var argv3 = '';
                
                for( var i=0; i<4; i++ ){
                        argv3 += char[Math.random() * 16  | 0];
                }
                
                var argv4 = char[Math.random() * 16  | 0] + u.substr(13,3);
                var argv5 = u.substr(16,12);
                
                var guid = [argv1, argv2, argv3, argv4, argv5].join(separator);
                
                result = prefix + guid;
     
                console.log(' >> 출력값 : ' + result);
     
                return result;
              
          },

 

[실행결과]

 

[첨부파일]

test.html
0.00MB

728x90
반응형
728x90

[소스코드]

    /**
     * @description 숫자를 한글(금액단위)로 변환한다.
     * @param {number} 숫자, 금액(정수)
     * @return {string} 한글(금액단위) 문자열
     */
    numToKor: function (sNum) {

                if( typeof(sNum) === 'number' ){
                        sNum = sNum.toString();
                }
                                        
                var result       = '';
                var bUnitWords   = ['', '만', '억', '조', '경'];
                var sUnitWords   = ['천', '백', '십', '']
                var numKor       = ['영', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구'];
                var unitPow      = 10000;
                var convNumArray = [];

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

                    var bUnitValue = (sNum % Math.pow(unitPow, i + 1)) / Math.pow(unitPow, i);
                        bUnitValue = Math.floor(bUnitValue);
                        
                    if (bUnitValue > 0){
                        bUnitValue = bUnitValue.toString();
                        bUnitValue = bUnitValue.padStart(4, '0');

                        var convBigUintValue = '';
                                    
                        for(var j=0; j<bUnitValue.length; j++){

                                var cutNum = bUnitValue.charAt(j);

                                if(cutNum > 0){
                                        convBigUintValue += numKor[cutNum] + sUnitWords[j];
                                }
                        }

                        convNumArray[i] = convBigUintValue;

                    }
                }

                for (var i = 0; i < convNumArray.length; i++){
                        if(!convNumArray[i]) continue;
                        result = convNumArray[i] + bUnitWords[i] + result;
                }

                console.log('입력값 : ' + sNum + ', 출력값 : ' + result);

                return result;
        
    },

 

[실행결과]

[첨부파일]

test.html
0.00MB

 

728x90
반응형
728x90

[소스코드]

    /**
     * @description 숫자를 거리단위로 변환해준다.
     * @param {number} length 길이
     * @return 길이 문자열
     */
    distance: function (length) {

        var result = '';
        
        if (parseInt(length) > 1000) {
            result = (Math.round(length / 1000 * 100) / 100) + '' + 'km';
        } else {
            result = (Math.round(length * 100) / 100) + '' + 'm';
        }
        
        console.log('입력값 : ' + length + ', 출력값 : ' + result);
        
        return result;
    },

 

[실행결과]

[첨부파일]

distance2.html
0.00MB

 

728x90
반응형
728x90

[소스코드]

    /**
     * @description 숫자를 1000 단위로 콤마로 구분한다.
     * @param {number} value 값
     * @return {string} 1000 단위 comma(,) 로 구분된 문자열
     */
    currency: function ( s ) {
        var result = '';
        
        if (s) {

            // 타입 체크
            if (typeof s == 'number') {
                result = s.toString();
            } else {
                result = s;
            }
            
            // 3자리마다 ',' 표시
            result = result.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
        } else {
            result = s;
        }
        
        console.log('입력값 : ' + s + ', 출력값 : ' + result);
        
        return result;
    }

 

 

[실행결과]

[첨부파일]

number.html
0.00MB

728x90
반응형
728x90

지도 개발중에 출발지와 도착지 소요시간를 API 로 값을 리턴 받는데 초단위였다.

이동시 소요시간을 출력해야하니 아래와 같은 시,분,초 변환 함수가 필요하여 만들고 공유한다.

 

[소스코드]

 

        /**
         * @description 초단위를 시분초로 변환한다.
         * @param {number} second 초
         * @return {string} 시분초 문자열
         */
        secToHms: function (sec) {
        
            var result = '';
    
            if (sec / 60 > 1) {
                var minute = Math.floor(sec / 60);
                
                if (minute / 60 > 1) {
                    var hour   = Math.floor(minute / 60);
                    var minute = minute - (hour * 60);
                    
                    result  = hour + '시간 ';
                    result += minute ? minute + '분' : '';
                } else {
                    result = minute + '분';
                }
            } else {
                result = '1분';
            }
            
            console.log('입력값 : ' + sec + ', 출력값 : ' + result);
                    
            return result;

        }

 

[실행결과]

[첨부파일]

test.html
0.00MB

 

 

728x90
반응형

+ Recent posts