validation 관련 자바스크립트 파일 추가
parent
b28a302604
commit
8a7f0796eb
@ -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…
Reference in New Issue