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
반응형

+ Recent posts