
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
/**
* 공통 처리 플러그인
*/
function prefixZero(number, length) {
var zero = '';
number = number.toString();
if (number.length < length) {
for (let i = 0; i < length - number.length; i++) {
zero += '0';
}
}
return zero + number;
}
import Vue from "vue";
export default {
install(Vue) {
//시간 구하기
Vue.config.globalProperties.$getFullTime = function (hour, minute, seconds) {
var date = new Date();
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
if (this.$isEmpty(hour) == false) {
h += hour;
} if (this.$isEmpty(minute) == false) {
m += minute;
} if (this.$isEmpty(seconds) == false) {
s += seconds;
}
return prefixZero(h, 2) + ":" + prefixZero(m, 2) + ":" + prefixZero(s, 2);
}
// 빈값체크
Vue.config.globalProperties.$isEmpty = function (data) {
if (data === undefined || data === null || data === "" || data.length === 0 || (data.constructor == Object && Object.keys(data).length === 0)) {
if ((typeof data) === "number") {
return false
} else {
return true;
}
} else {
return false;
}
}
/* 유효성 검사 */
// 아이디 정규식(5~20자의 영문 소문자, 숫자와 특수기호(_),(-)만 사용)
Vue.config.globalProperties.$idCheck = function (data) {
let validateId = /^[a-z0-9_-]{5,20}$/;
if (validateId.test(data) === true) return true;
return false;
}
// 비밀번호 정규식(8~16자의 영문 대문자, 소문자, 숫자, 특수문자를 사용)
Vue.config.globalProperties.$pwCheck = function (data) {
let validatePw = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@#$%^&+=!]).{8,16}$/;
if (validatePw.test(data) === true) return true;
return false;
}
// 이메일 형식 검사
Vue.config.globalProperties.$email = function (email) {
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
try {
return emailPattern.test(email);
} catch (e) {
return false;
}
}
// IPv4 정규식
Vue.config.globalProperties.$ipv4 = function (ip) {
let validateIPv4 = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;
if (validateIPv4.test(ip) === true) return true;
return false;
}
// 3글자 마다 콤마 찍기 (돈)
Vue.config.globalProperties.$comma = function (text) {
try {
return text.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
} catch (e) {
if (text === undefined || text === null || text === "" || text.length === 0) {
return "-";
} else {
return text;
}
}
}
// 사업자번호 정규식(10자리)
Vue.config.globalProperties.$businessNumber = function (data) {
let validateBusinessNumber = /^\d{10}$/;
if (validateBusinessNumber.test(data) === true) return true;
return false;
}
}
}