validation 관련 자바스크립트 파일 추가

main
이범준 1 year ago
parent b28a302604
commit 8a7f0796eb

@ -42,7 +42,8 @@
<script src="<c:url value="/resources/js/base/user.js?${ver}"/>"></script>
<script src="<c:url value="/resources/js/base/authority.js?${ver}"/>"></script>
<!-- vaildation 관련 유틸 -->
<script src="<c:url value="/resources/js/fims/framework/cmm/cmmUtil.js"/>?${ver}"></script>
<!-- 날짜 관련 유틸 -->
<script src="<c:url value="/resources/js/fims/framework/cmm/cmmDateUtil.js"/>?${ver}"></script>

@ -267,7 +267,7 @@ var DateUtil = {
/**
* 입력일의 이전일 계산
*/
window.getPrevDay = function(datestr, days) {
function getPrevDay(datestr, days) {
if ( days == "0") return datestr;
datestr = datestr.replace(/-/g, "");
if (datestr == "") return "";
@ -281,7 +281,7 @@ window.getPrevDay = function(datestr, days) {
/**
* 입력일의 다음일 계산
*/
window.getNextDay = function(datestr, days) {
function getNextDay(datestr, days) {
if ( days == "0") return datestr;
datestr = datestr.replace(/-/g, "");
if (datestr == "") return "";
@ -295,7 +295,7 @@ window.getNextDay = function(datestr, days) {
/**
* 해당월의 마지막날
*/
window.getLastDay = function(datestr) {
function getLastDay(datestr) {
datestr = datestr.replace(/-/g, "");
if (datestr == "") return "";
var strNextMonth = window.addMonth(datestr, 1);
@ -310,8 +310,7 @@ window.getLastDay = function(datestr) {
/**
* , , 일을 입력 받아 Date String으로 변환
*/
window.getDatetime = function(nYear, nMonth, nDate)
{
function getDatetime(nYear, nMonth, nDate){
var objDate = null;
if (nYear.toString().trim().length >= 5) {
@ -339,8 +338,7 @@ window.getDatetime = function(nYear, nMonth, nDate)
/**
* 계산
*/
window.addYear = function(date, nOffSet)
{
function addYear(date, nOffSet){
date = date.replace(/-/g, "");
var nYear = parseInt(date.substr(0, 4), 10) + nOffSet;
var nMonth = parseInt(date.substr(4, 2), 10);
@ -351,8 +349,7 @@ window.addYear = function(date, nOffSet)
/**
* 계산
*/
window.addMonth = function(date, nOffSet)
{
function addMonth(date, nOffSet) {
date = date.replace(/-/g, "");
var nYear = parseInt(date.substr(0, 4), 10);
var nMonth = parseInt(date.substr(4, 2), 10) + nOffSet;
@ -363,8 +360,7 @@ window.addMonth = function(date, nOffSet)
/**
* 계산
*/
window.addDate = function(date, nOffSet)
{
function addDate(date, nOffSet) {
date = date.replace(/-/g, "");
var nYear = parseInt(date.substr(0, 4), 10);
var nMonth = parseInt(date.substr(4, 2), 10);
@ -375,7 +371,7 @@ window.addDate = function(date, nOffSet)
/**
* 이전해 계싼
*/
window.getPrevYear = function(datestr, year) {
function getPrevYear(datestr, year) {
if ( year == "0") return datestr;
datestr = datestr.replace(/-/g, "");
if (datestr == "") return "";
@ -389,7 +385,7 @@ window.getPrevYear = function(datestr, year) {
/**
* 다음해 계산
*/
window.getNextYear = function(datestr, year) {
function getNextYear(datestr, year) {
if ( year == "0") return datestr;
datestr = datestr.replace(/-/g, "");
if (datestr == "") return "";
@ -403,7 +399,7 @@ window.getNextYear = function(datestr, year) {
/**
* select 연도
*/
window.setYearCombo = function(id,isAll,isSelect,range){
function setYearCombo(id,isAll,isSelect,range){
var now = new Date();
var dayYear = now.getFullYear();
var str = "";
@ -428,7 +424,7 @@ window.setYearCombo = function(id,isAll,isSelect,range){
/**
* select 연도(올해이후)
*/
window.setYearComboNext = function(id,isAll,isSelect,range){
function setYearComboNext(id,isAll,isSelect,range){
var now = new Date();
var dayYear = now.getFullYear();
var str = "";
@ -454,7 +450,7 @@ window.setYearComboNext = function(id,isAll,isSelect,range){
/**
* select 년월
*/
window.setYearMonCombo = function(id,isAll,isSelect){
function setYearMonCombo(id,isAll,isSelect){
var day = new Date();
var dayYear = day.getFullYear().toString();
var now = day.getMonth()+1;
@ -478,7 +474,7 @@ window.setYearMonCombo = function(id,isAll,isSelect){
/**
* 문자열 날짜 숫자로 변경
*/
window.stringDateToNum = function(paramStr){
function stringDateToNum(paramStr){
var str = paramStr.replace(/-/g, "");
var dateNum = "";
@ -510,7 +506,7 @@ window.stringDateToNum = function(paramStr){
* @param2 day2 : 일자 8자리 - 'YYYYMMDD', 'YYYY-MM-DD', 'YYYY/MM/DD', etc
* @return 일자간의 일수
*/
window.calcDayCount = function(day1, day2) {
function calcDayCount(day1, day2) {
day1 = day1.replace(/-/g, "");
day2 = day2.replace(/-/g, "");
if (day1 == "" || day2 == "") return "";
@ -524,7 +520,7 @@ window.calcDayCount = function(day1, day2) {
/**
* Get 요일
*/
window.getWeek = function(datestr, isConvert){
function getWeek(datestr, isConvert){
datestr = datestr.replace(/-/g, "");
var dateObj = window.getDateObject(datestr);
var week = dateObj.getDay() + 1;
@ -544,7 +540,7 @@ window.getWeek = function(datestr, isConvert){
//-----------------------------------------------------------
// 현재년월 구하기
//-----------------------------------------------------------
window.getYearMonth = function() {
function getYearMonth() {
var today = getToday();
var yearMonth = today.substr(0, 7);
@ -558,8 +554,7 @@ window.getYearMonth = function() {
* @param astrNotNull: nn:not null, "": null 허용
* @return true/false
**/
function blnOkDate(astrValue, astrNotNull)
{
function blnOkDate(astrValue, astrNotNull) {
var arrDate;
if (astrValue=='')
@ -599,8 +594,7 @@ function blnOkDate(astrValue, astrNotNull)
*
* @param field INPUT 객체
**/
function openCalendar(dateField)
{
function openCalendar(dateField) {
var obj = eval("document." + dateField);
if (obj.value == "")

@ -0,0 +1,158 @@
/**************************************************************************
* validation
**************************************************************************/
/**
* 문자열이 숫자형인지의 여부를 반환한다.
* @param exceptChar - 추가 허용할 문자
* @return 숫자형여부
*/
function isNumber(str, exceptChar) {
return (/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/).test(str.replaceAll(exceptChar,"")) ? true : false;
};
// 날짜체크
function isDate(str) {
if(str.length != 8){
return false;
}
if (!isNumber(str, "")) {
return false;
}
// 숫자, length 확인
var year = str.substring(0,4);
var month = str.substring(4,6);
var day = str.substring(6,8);
// 유효날짜 확인
if (year>="0001" && year<="9999" && month>="01" && month<="12") {
febDays = "29";
if ((parseInt(year,10) % 4) == 0) {
if ((parseInt(year,10) % 100) == 0 && (parseInt(year,10) % 400) != 0){
febDays = "28";
}
}else{
febDays = "28";
}
if (month=="01" && day>="01" && day<="31") return true;
if (month=="02" && day>="01" && day<=febDays) return true;
if (month=="03" && day>="01" && day<="31") return true;
if (month=="04" && day>="01" && day<="30") return true;
if (month=="05" && day>="01" && day<="31") return true;
if (month=="06" && day>="01" && day<="30") return true;
if (month=="07" && day>="01" && day<="31") return true;
if (month=="08" && day>="01" && day<="31") return true;
if (month=="09" && day>="01" && day<="30") return true;
if (month=="10" && day>="01" && day<="31") return true;
if (month=="11" && day>="01" && day<="30") return true;
if (month=="12" && day>="01" && day<="31") return true;
return false;
}
return true;
}
/**
* 문자열이 지정한 최소길이 이상인지의 여부를 반환한다.
* @param minLen - 최소길이
* @return 최소길이 이상인지의 여부
*/
function isMin(str, minLen) {
return str.length >= minLen;
};
/**
* 문자열이 지정한 최대길이 이하인지의 여부를 반환한다.
* @param maxLen - 최대길이
* @return 최대길이 이하인지의 여부
*/
function isMax(str, maxLen) {
return str.length <= maxLen;
};
/**
* 문자열이 지정한 최소바이트수 이상인지의 여부를 반환한다.
* @param minByte - 최소바이트수
* @return 최소바이트수 이상인지의 여부
*/
function isMinByte(str, minByte) {
return getByte(str) >= minByte;
};
/**
* 문자열이 지정한 최대바이트수 이하인지의 여부를 반환한다.
* @param maxByte - 최대바이트수
* @return 최대바이트수 이하인지의 여부
*/
function isMaxByte(str, maxByte) {
return getByte(str) <= maxByte;
};
/**
* 문자열이 영어만으로 구성되어 있는지의 여부를 반환한다.
* @param exceptChar - 추가 허용할 문자
* @return 영어만으로 구성되어 있는지의 여부
*/
function isEng(str, exceptChar) {
return (/^[a-zA-Z]+$/).test(str.replaceAll(exceptChar,"")) ? true : false;
};
/**
* 문자열이 숫자와 영어만으로 구성되어 있는지의 여부를 반환한다.
* @param exceptChar - 추가 허용할 문자
* @return 숫자와 영어만으로 구성되어 있는지의 여부
*/
function isEngNum(str, exceptChar) {
return (/^[0-9a-zA-Z]+$/).test(str.replaceAll(exceptChar,"")) ? true : false;
};
/**
* 이메일 주소의 유효성 여부를 반환한다.
* @return 유효성 여부
*/
function isEmail(str) {
return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(str);
};
/**************************************************************************
* String util
**************************************************************************/
/**
* 문자열의 byte 길이를 반환한다.
* @return 문자열의 byte 길이
*/
function getByte(str) {
if ( str == null || str.length == 0 ) {
return 0;
}
var size = 0;
for ( var i=0, len=str.length ; i < len ;i++ ) {
var charCode = str.charCodeAt(i),
charSize = 0;
if ( charCode <= 0x00007F ) { //127
charSize = 1;
} else if ( charCode <= 0x0007FF) { //2047
charSize = 2;
} else if ( charCode <= 0x00FFFF) { //65535
charSize = 3;
} else {
charSize = 4;
}
size += charSize;
}
return size;
};
Loading…
Cancel
Save