135 lines
3.3 KiB
JavaScript
135 lines
3.3 KiB
JavaScript
String.prototype.bytes = function() {
|
|
var str = this;
|
|
var l = 0;
|
|
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 3 : 1;
|
|
return l;
|
|
};
|
|
|
|
String.prototype.cut = function(len) {
|
|
var str = this;
|
|
var l = 0;
|
|
for (var i=0; i<str.length; i++) {
|
|
l += (str.charCodeAt(i) > 128) ? 3 : 1;
|
|
if (l > len) return str.substring(0,i);
|
|
}
|
|
return str;
|
|
};
|
|
|
|
/**
|
|
* object empty check
|
|
* */
|
|
|
|
function emptyObject(param){
|
|
return Object.keys(param).length === 0;
|
|
}
|
|
|
|
|
|
|
|
function isEmptyList(data){
|
|
if(data == undefined || data == null || data.length == 0){
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
|
|
function dateFormatStr (dateStr) {
|
|
var refinedDateStr;
|
|
var rv;
|
|
|
|
if (dateStr == null) {
|
|
return null;
|
|
}
|
|
refinedDateStr = dateStr.match(/\d+/g);
|
|
if (refinedDateStr == null || refinedDateStr.length == 0) {
|
|
return null;
|
|
}
|
|
refinedDateStr = refinedDateStr + "";
|
|
switch (refinedDateStr.length) {
|
|
case 4:
|
|
rv = moment(refinedDateStr, "HHmm");
|
|
break;
|
|
case 6:
|
|
rv = moment(refinedDateStr, "HHmmss");
|
|
break;
|
|
case 8:
|
|
rv = moment(refinedDateStr, "YYYYMMDD");
|
|
break;
|
|
case 12:
|
|
rv = moment(refinedDateStr, "YYYYMMDDHHmm");
|
|
break;
|
|
case 14:
|
|
rv = moment(refinedDateStr, "YYYYMMDDHHmmss");
|
|
break;
|
|
default:
|
|
throw new Error("invalid date str " + dateStr);
|
|
}
|
|
return rv;
|
|
}
|
|
|
|
function dateFormat(str, type) {
|
|
var date = dateFormatStr(str);
|
|
if (date == null) {
|
|
return "";
|
|
}
|
|
|
|
if (type == "slash") {
|
|
return date.format("YYYY/MM/DD");
|
|
} else if (type == "date") {
|
|
return date.format("YYYY.MM.DD");
|
|
} else if (type == "colon") {
|
|
return date.format("YYYY:MM:DD");
|
|
} else if (type == "dash") {
|
|
return date.format("YYYY-MM-DD");
|
|
}else if(type == "normal"){
|
|
return date.format("YYYYMMDD");
|
|
} else {
|
|
return date.format("YYYY-MM-DD");
|
|
}
|
|
};
|
|
|
|
function timeFomat (value, type) {
|
|
var date = dateFormatStr(value);
|
|
if (date == null) {
|
|
return "";
|
|
}
|
|
|
|
if (type == "slash") {
|
|
return date.format("HH:mm:ss");
|
|
} else if (type == "date") {
|
|
return date.format("HH:mm:ss");
|
|
} else if (type == "colon") {
|
|
return date.format("HH:mm:ss");
|
|
} else if (type == "dash") {
|
|
return date.format("HH:mm:ss");
|
|
} else {
|
|
return date.format("HH:mm");
|
|
}
|
|
};
|
|
|
|
function countBytes(obj, len, target){
|
|
var cnt = obj.value.bytes();
|
|
var txtSplit;
|
|
var ieVersion;
|
|
if(cnt > 0){
|
|
txtSplit = (obj.value).split("\n");
|
|
if(navigator.appName == "Microsoft Internet Explorer"){
|
|
ieVersion = navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5,navigator.appVersion.indexOf("MSIE")+8);
|
|
if(ieVersion >= "9.0"){
|
|
cnt += txtSplit.length - 1
|
|
}
|
|
}else{
|
|
cnt += txtSplit.length - 1
|
|
}
|
|
}
|
|
|
|
if(cnt <= len){
|
|
target.textContent = cnt;
|
|
}else{
|
|
alert("허용 글자수를 초과하였습니다.");
|
|
obj.value = obj.value.cut(len - txtSplit.length + 1);
|
|
target.textContent = obj.value.bytes();
|
|
}
|
|
}
|
|
|