'Javascript'에 해당되는 글 3건
- 2018.10.23 ROOT URL 추출 Regexp
- 2018.09.04 숫자열에서 뒤에서 4글자 빼고 *로 변경
- 2018.08.28 62진수 인코딩 & 디코딩
ROOT URL 추출 Regexp
Javascript 2018. 10. 23. 16:42
/^((http:\/\/|https:\/\/)(?:.*\.)*(.+\..+?)\/)/i
http(s)://xxx.xxx.xxx/ 인 형태를 추출
'Javascript' 카테고리의 다른 글
숫자열에서 뒤에서 4글자 빼고 *로 변경 (0) | 2018.09.04 |
---|---|
62진수 인코딩 & 디코딩 (0) | 2018.08.28 |
숫자열에서 뒤에서 4글자 빼고 *로 변경
Javascript 2018. 9. 4. 14:40
s.replace(/\d(?=\d{4})/g, "*");
'Javascript' 카테고리의 다른 글
ROOT URL 추출 Regexp (0) | 2018.10.23 |
---|---|
62진수 인코딩 & 디코딩 (0) | 2018.08.28 |
62진수 인코딩 & 디코딩
Javascript 2018. 8. 28. 12:21
/*
* TimeStamp 값을 기준으로 minusYears 를 뺀 값에서 해당 값이 중복일 경우 키값을 증가시켜 4자리수 키를 생성
* TimeStamp 값과 키를 결합한 켤합키를 가지고 62진수 값을 생성하여 리턴
* */
var lastTime = 0;
var key = 0;
var maxKey = 0;
var minusYears = (30 * 365 * 24 * 60 * 60 * 1000);
var baseList = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var baseSize = baseList.length;
// var baseSize = 36;
function getTime() {
return new Date().getTime() - minusYears;
}
function getBase62Code(n) {
var num = parseInt(n);
var retVal = [];
do {
var mod = num % baseSize;
num = parseInt(num / baseSize);
retVal.push(baseList[ mod ]);
} while (num > 0) ;
return retVal.reverse().join("");
}
Number.prototype.pad = function(size) {
var s = String(this);
while (s.length < (size || 2)) {s = "0" + s;}
return s;
}
function getIDCode () {
var time = getTime();
var combinationKey;
if (lastTime === time) {
key++;
} else {
if (maxKey < key) {
maxKey = key;
}
key = 0;
}
lastTime = time;
combinationKey = lastTime + "" + key.pad(4);
return getBase62Code(combinationKey);
}
function getTimeStamp (s, flag) {
var orgKey = s.split("").reverse();
var orgNumber = 0;
for (var i = 0; i < orgKey.length; i++) {
var idx = baseList.indexOf(orgKey[i]);
if (i === 0) {
orgNumber += idx;
} else {
orgNumber += (Math.pow(baseSize, i) * idx);
}
}
if (flag) {
orgNumber = orgNumber.toString();
orgNumber = orgNumber.substr(0, orgNumber.length -4);
orgNumber = parseInt(orgNumber, 10) + minusYears;
}
return orgNumber;
}
var start = new Date().getTime();
console.log("start Time: " + start);
for (var i = 0; new Date().getTime() < start + 1000; i++) {
console.log(getIDCode());
}
console.log("1초 당 for 문 반복 : " + i +" 번, 최대 중첩 횟수 : " + maxKey + " 번");
'Javascript' 카테고리의 다른 글
ROOT URL 추출 Regexp (0) | 2018.10.23 |
---|---|
숫자열에서 뒤에서 4글자 빼고 *로 변경 (0) | 2018.09.04 |