/*
------------------------------------------------ ----------------------------------
파일 이름: check.js
설명: 입력을 확인하는 데 사용되는 JavaScript 스크립트 웹페이지 제출 양식 데이터
버전: 1.0
*/
/*
목적: IP 주소 형식을 확인합니다.
입력: strIP: IP 주소
반환: 확인에 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isIP(strIP) {
if (isNull(strIP)) return false;
var re=/^(d+).(d+).(d+).(d+)$/g // IP 주소와 일치하는 정규식
if(re.test(strIP))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true
}
return false
;
/*
목적: 입력 문자열이 비어 있는지 또는 모두 공백인지 확인합니다
. 입력: str
반환:
모두 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isNull( str ){
if ( str == "" ) return true ;
var regu = "^[ ]+$";
var re = new RegExp(regu
)
;
/*
목적: 입력 개체의 값이 정수 형식을 준수하는지 확인합니다
. 입력: str 입력 문자열이
확인을 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isInteger( str ){
var regu = /^[-]{0,1}[0-9]{1,}$/
return regu.test(str)
}
/*
목적: 입력한 휴대폰 번호가
제대로 입력되었는지 확인:
s: 문자열
return:
인증에 성공하면 true, 그렇지 않으면 false
*/
function checkMobile(s ){
var regu =/^[1][3][0-9]{9}$/;
var re = new RegExp(regu)
if (re.test(s)) {
return true;
}else{
false를 반환
}
}
/*
목적: 입력 문자열이 양의 정수 형식을 따르는지 확인합니다
. 입력:
s: 문자열
반환:
확인을 통과하면 true, 그렇지 않으면 false입니다.
*/
function isNumber(s ){
var regu = "^[0-9]+$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true
} else
;{
거짓을 반환
}
}
/*
목적: 입력 문자열이 소수를 포함하는 디지털 형식인지 확인합니다. 음수
입력일 수 있습니다.
s: 문자열
반환:
검증을 통과하면 true, 그렇지 않으면 false
*/
function isDecimal( str ){
if(isInteger(str)) return true;
var
re = /^[-]{0,1}(d+)[.]+(d+)$/;
.test(str)) {
if(RegExp.$1==0&&RegExp.$2==0) return false;
return true
}
else {
return false
;
/*
목적: 입력 개체의 값이 포트 번호 형식을 준수하는지 확인합니다
. 입력: str 입력 문자열이
확인을 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isPort( str ){
return (isNumber(str) && str<65536)
}
/*
목적: 입력 객체의 값이 E-Mail 형식을 준수하는지 확인
입력: str 입력 문자열
반환: 검증에 통과하면 true, 그렇지 않으면 false
*/
function isEmail( str ){
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+.)+[A-Za-z0-9]{ 2,3}$/;
if(myReg.test(str))return
true
}
/*
목적: 입력 문자열이 금액 형식을 따르는지 확인합니다.
형식은 소수점 포함 양수로 정의되며,
소수점 이하 최대 3자리까지 입력 가능합니다.
s: 문자열
return:
검증인 경우 true입니다
.전달되고, 그렇지 않으면 거짓
*/
function isMoney( s ){
var regu = "^[0-9]+[
.][0-9]{0,3}$"
var re = new RegExp(regu);
(s)) {
return true;
} else {
return false
}
}
/*
목적: 입력 문자열이 영문자, 숫자, 밑줄로만 구성되어 있는지 확인합니다
. 입력:
s: 문자열
반환:
검증에 통과하면 true를 반환합니다. 거짓을 반환하다
*/
function isNumberOr_Letter( s ){//숫자인지 문자인지 확인
var regu = "^[0-9a-zA-Z_]+$";
var
re = new RegExp(regu);
if
(
re.test(s)) {
return
true;
/*
목적: 입력 문자열이 영문과 숫자로만 구성되어 있는지 확인합니다.
입력:
s: 문자열
반환:
검증에 통과하면 true, 그렇지 않으면 false입니다.
*/
function isNumberOrLetter( s ){//숫자인지 문자인지 확인
var regu = "^[0-9a-zA-Z]+$";
var re=
new RegExp(regu);
if (re.test(s)) {
return
true;
}
else{
return false;
목적: 입력 문자열이 한자, 문자, 숫자로만 구성되어 있는지 확인합니다.
입력:
값: 문자열
반환:
검증에 통과하면 true, 그렇지 않으면 false입니다.
*/
function isChinaOrNumbOrLett( s ){//한자, 문자, 숫자로 구성되어 있는지 확인
var regu = "^[0-9a-zA-Zu4e00-u9fa5]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true
}else{
return false
;;
}
}
/*
목적: 날짜 입력인지 확인
: date: date; fmt: 날짜 형식
반환: 검증에 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다
. */
function isDate(date, fmt) {
if (fmt==null) fmt="yyyyMMdd ";
var yIndex = fmt.indexOf("yyyy");
if(yIndex==-1) return false;
var
year = date.substring(yIndex,yIndex+4);
"MM") ;
if(mIndex==-1) return false;
var Month = date.substring(mIndex,mIndex+2);
var dIndex = fmt.indexOf("dd")
; return false;
var day = date.substring(dIndex,dIndex+2);
if(!isNumber(year)||year>"2100" || year< "1900") return false
; |월>" 12" || 월< "01") return false;
if
(day>getMaxDay(연도,월) || day< "01") return false
;
function getMaxDay(년,월) {
if(월==4||월==6||월==9||월==11)
return "30"
if(월==2)
if(년%4 ==0&&연도%100!=0 || 연도%400==0)
"29"
를 반환하고,
그렇지 않으면
"31"을 반환합니다
.
/*
목적: 문자 1이 문자열 2로 끝나는지 여부
입력: str1: 문자열; str2: 포함된 문자열
반환: 검증을 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isLastMatch(str1,str2)
{
var index = str1.lastIndexOf(str2);
if(str1.length==index+str2.length) return
true
;
/*
목적: 문자 1이 문자열 2로 시작하는지 여부
입력: str1: 문자열; str2: 포함된 문자열
반환: 검증을 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isFirstMatch(str1,str2)
{
var index = str1.indexOf(
str2);
if(index==0) return true
;
/*
목적: 문자 1은 포함된 문자열 2입니다.
입력: str1: 문자열; str2: 포함된 문자열
반환: 확인을 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function isMatch(str1,str2)
{
var index = str1.indexOf(str2);
if(index==-1) return
false
}
/*
목적: 입력한 시작 날짜와 종료 날짜가 올바른지 확인합니다. 두 날짜의 형식이 올바른지,종료 날짜가 예정대로인지
확인합니다.
>= 시작 날짜입력:
startDate: 시작 날짜, 문자열
endDate: end as. 예약됨, 문자열
반환:
통과된 경우 검증은 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function checkTwoDate( startDate,endDate) {
if( !isDate(startDate) ) {
Alert("시작 날짜가 잘못되었습니다!")
return false
} else if( !isDate(endDate) ) {
Alert("종료 날짜" 틀림!");
return false;
} else if( startDate > endDate ) {
Alert("시작 날짜는 종료 날짜보다 클 수 없습니다!");
return false;
}
return true;
}
/*
목적: 입력한 이메일 편지함 형식이
올바르게 입력되었는지 확인:
strEmail: 문자열
반환:
검증을 통과한 경우 true, 그렇지 않은 경우 false
*/
function checkEmail(strEmail) {
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$ /;
var emailReg = /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/;
if( emailReg.test (strEmail) ){
return true;
}else{
Alert("입력한 이메일 주소 형식이 잘못되었습니다!")
return
false
;
/*
목적: 입력한 전화번호 형식이 올바른지 확인합니다
. Enter:
strPhone: string
return:
검증에 통과하면 true, 그렇지 않으면 false .
*/
function checkPhone( strPhone ) {
varphoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/
varphoneRegNoArea = /^[1-9] {1}[0-9]{5,8}$/;
var 프롬프트 = "입력한 전화번호가 올바르지 않습니다!"
if( strPhone.length > 9 ) {
if(phoneRegWithArea.test(strPhone) ){
return true ;
}else{
경고(프롬프트)
;}
else{
if(phoneRegNoArea.test(strPhone)){
return
true
(
프롬프트
)
;
}
}
/*
목적: 선택된 체크박스의 개수를 확인합니다.
입력:
checkboxID: 문자열.
반환:
선택된 체크박스의 개수를 반환합니다.
*/
function checkSelect( checkboxID ) {
var check = 0;
var i=0;
if( document.all(checkboxID).length > 0 ) {
for( i=0; i<document.all(checkboxID).length; i++ )
if( document.all(checkboxID).item( i ).checked ) {
check += 1
;
}
}else{
if( document.all(checkboxID).checked )
check = 1
}
return check
;
function getTotalBytes(varField) {
if(varField == null)
return -1;
var totalCount = 0;
for (i = 0;i
< varField.value.length; i++) {
if (varField.value.charCodeAt(
i) > 127)
totalCount += 2;
else
totalCount
}
function getFirstSelectedValue( checkboxID ){
var value = null;
var i=0;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ )
if( document.all(checkboxID).item( i ).checked ){
value = document.all(checkboxID).item(i).value
}
}
}
else {
if( document.all(checkboxID).checked; )
값 = document.all(checkboxID).value
}
반환 값
}
function getFirstSelectedIndex( checkboxID ){
var value = -2;
var i=0;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ ) {
if( document.all(checkboxID).item( i ).checked ) {
value = i;
break;
}
}
} else {
if( document.all(checkboxID).checked )
value
= -1
}
;
함수 selectAll(체크박스ID,상태){
if(document.all(checkboxID) == null)
return;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ ){
document.all(checkboxID).item( i ).checked = 상태;
}
} else {
document.all(checkboxID).checked = 상태
}
}
function selectInverse( checkboxID ) {
if( document.all(checkboxID) == null)
return;
if( document.all(checkboxID).length > 0 ) {
for( i=0; i<document.all(checkboxID).length; i++ ) {
document.all(checkboxID).item( i ).checked = !document .all(checkboxID).item( i ).checked;
}
}
else {
document.all(checkboxID).checked = !document.all(checkboxID).checked
;
function checkDate( value ) {
if(value=='') return true;
if
(value.length!=8 || !isNumber(value)) return false
;
year>"2100" || year< "1900")
return false;
var 월 = value.substring(4,6);
if(month>"12" || 월< "01") return false;
var day = value.substring(6,8);
if(day>getMaxDay(년,월) || day< "01") return false;
사실을 반환
}
/*
목적: 입력한 시작 날짜와 종료 날짜가 올바른지 확인합니다. 두 날짜의 형식이 정확하거나 둘 다 비어 있고종료 날짜 >= 시작 날짜
가 규칙입니다
.입력:
startDate: start date, string
endDate: 종료 날짜, 문자열
반환 :
검증에 통과하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
*/
function checkPeriod( startDate,endDate) {
if( !checkDate(startDate) ) {
Alert("시작 날짜가 잘못되었습니다!")
return false
} else if( !checkDate(endDate) ) {
Alert("종료 날짜" 틀림!");
return false;
} else if( startDate > endDate ) {
Alert("시작 날짜는 종료 날짜보다 클 수 없습니다!");
return false;
}
return true;
}
/*
목적: 보안 코드가
올바르게 입력되었는지 확인:
secCode: 보안 코드
return:
검증에 성공하면 true, 그렇지 않으면 false
*/
function checkSecCode( secCode ) {
if( secCode.length !=6 ){
Alert("보안 코드 길이는 6자리여야 합니다.")
return false
}
;
if(!isNumber( secCode ) ){
Alert("보안 코드에는 숫자만 포함될 수 있습니다.");
거짓을 반환
}
참을 반환
}
/**************************************************** ***** ***
함수:cTrim(sInputString,iType)
설명: 문자열 매개변수에서 공백을 제거하는 함수
: iType: 1=문자열 왼쪽의 공백 제거
2=문자열 왼쪽 공백 제거
0=문자열 왼쪽 및 오른쪽 공백 제거
반환값: 공백이 제거된 문자열
******************* ***** ******************************/
function cTrim(sInputString,iType)
{
var sTmpStr = ' ';
var i = -1;
if(iType == 0 || iType == 1)
{
while(sTmpStr
== ' ')
{
sTmpStr = sInputString.substr(i,1)
}
sInputString = sInputString.substring(i)
;
if(iType == 0 ||
iType
== 2)
{
sTmpStr = ' ';
i = sInputString.length;
while(sTmpStr == ' ')
{
--i
;
sInputString = sInputString.substring(0,i+1)
}
return sInputString
}
/*
------------------------------------------------ ----------------------------------
설명: JavaScript 스크립트, 시작 양식의 데이터 항목 확인
--- ---- --------------------------------- ---- ----------
*/
함수 checkForm(objFrm){
var len = 0;
len = objFrm.elements.length;
var i = 0;
var objCheck;
//텍스트 상자
for(i = 0; i < len; i ++){
objCheck = objFrm.elements[i];
if(objCheck.type == "text" && !f_checkTextValid( objCheck) ){
return false;
}
}
//드롭다운 상자
for(i = 0; i < len; i ++){
objCheck = objFrm.elements[i];
if(objCheck.type ==select-one" && !f_checkSelectValid(objCheck) ) {
거짓을 반환;
}
}
//기간은 유효합니다.
if( f_checkStartAndEndDate(objFrm) == false) return false;
return true;
}
function f_checkSelectValid(obj){
//alert("선택 확인");
if(obj.options.length <= 0){
Alert("드롭다운 선택 상자에 데이터가 없습니다!")
return false;
}
return true;
}
function f_checkStartAndEndDate(frm){
var len = frm.elements.length;
if(len == null && len == 0)
var i=0
;
var
objCheck
;
objEndDate;
//alert("날짜 기간 확인 시작");
try{
for(i=0; i< len ; i++){
objCheck = frm.elements[i]
;
if( temp.indexOf( "startDate") >0 ||temp.indexOf("beginDate")>0 )
objStartDate = objCheck;
if( temp.indexOf("endDate") > 0 )
objEndDate = objCheck;
}
//alert(objStartDate.value);
//alert(objEndDate.value);
if(objStartDate.value==null || objStartDate.value ==" || objStartDate.value ==null || objStartDate.value = = ""){
return true;
}
return checkTwoDate(objStartDate.value, objEndDate.value);
//alert("종료일 기간 확인");
}catch(E){}
return true
}
function f_checkTextValid(obj){
//비워둘 수 없습니다.
if(obj.getAttribute("isNeed") != null){
if(f_isNotNull(obj) == false) return false
}
//길이를 초과할 수 없습니다
. getAttribute ("maxlength") != null){
if(f_checkLength(obj) == false) return false;
}
var checkType ="";
checkType = obj.getAttribute("checkType")
; checkType == "") return true;
//
if (checkType.indexOf("number") >=0){
if(
f_isNumber(obj) == false) return false;
) 거짓을 반환합니다.
}
//
if (checkType.indexOf("긍정적") >=0){
if(f_isNumber(obj) == false) return false
if(
f_isPositive(obj)==false) return false;
checkType) == false) return false;
}
if (checkType.indexOf("date") >=0){
if(f_checkDate(obj) == false) return false;
}
/*
switch(checkType){
case "number": if(f_isNumber(obj) == false) return false;break;
case "date": if(f_checkDate(obj) == false) return false;
break
;
*/
true를 반환합니다.
}
function f_isNotNull(obj){
if(obj.value == ""){
f_alert(
obj, "Null 값은 허용되지 않습니다!")
return
false
}
function f_isNumber(obj){
if(isNaN(obj.value)){
f_alert(obj,"숫자 유형이어야 합니다.")
return false;
}
true를 반환합니다.
}
function f_checkDate(obj) {
if(checkDate(obj.value) ==false){
f_alert(obj,"적법한 날짜 형식이 아닙니다!")
return false;
}
참을 반환
}
function f_checkLength(obj){
if(getTotalBytes(obj) > Math.abs( obj.getAttribute("maxlength") ) ){
f_alert(obj,"길이 제한이 초과되었습니다!")
return false;
}
true를 반환합니다.
}
function f_alert(obj,alertStr){
var fielName = obj.getAttribute("fieldName");
if(fielName == null)
fielName = "";
경고(fielName + "n" +alertStr)
;
obj.focus()
}
function f_checkNumType(obj, numType){
//가정: 숫자 유형 판단이 수행되었습니다.
var strTemp
;
var numLen;
var
defaultLen =
5;
try{
if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);
if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);
strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 );
if (strTemp == null||strTemp =="") return f_checkNmLenPrec(obj,defaultLen, defaultpric)
strArr = strTemp.split(",");
numLen = Math.abs( strArr[0] );
numtric = Math.abs( strArr[1] );
return f_checkNumLenPrec(obj,numLen, numtric);
}catch(e){
Alert("in f_checkNumType = " + e)
return f_checkNumLenPrec(obj,defaultLen, defaultpric)
;
}
함수 f_checkNumLenPrec(obj, len, pric){
var numReg;
var value = obj.value;
var strValueTemp, strInt, strDec;
//alert(값 + "=====" + len + "====="+
가격
);
numReg =/[-]/;
strValueTemp = value.replace(numReg, "");
strValueTemp = strValueTemp.replace(numReg, "")
//integer
if(pric==0){
numReg =/[. ]/;
//alert(numReg.test(value));
if(numReg.test(value) == true){
f_alert(obj, "입력은 정수 유형이어야 합니다!")
return false;
}
}
if(strValueTemp.indexOf(".") < 0 ){
//alert("lennth==" + strValueTemp);
if(strValueTemp.length >(len - pric)){
f_alert(obj, "정수 자릿수는 "+ (len - pric) +" 비트를 초과할 수 없습니다.")
return false
}
}else{
strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );
//alert("lennth==" + strInt);
if(strInt.length >(len - pric)){
f_alert(obj, "정수 자릿수는 "+ (len - pric) +" 비트를 초과할 수 없습니다.")
return false
}
strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );
//alert("pric==" + strDec);
if(strDec.length > pric){
f_alert(obj, "소수점 이하 자릿수는 "+ pric +" 자리를 초과할 수 없습니다.")
return false
}
}
return true;
}catch(e){
경고("f_checkNumLenPrec = " + e)
return false
;
}
function f_isPositive(obj){
var numReg =/[-]/;
if(numReg.test(obj.value
) == true){
f_alert
(obj, "양수여야 합니다!")
return false;
진실 ;
}
/*
function selectedCheckboxCount(form)
함수 설명: Form에서 선택한 옵션을 계산합니다.
매개변수 설명:
양식: 지정된 양식
*/
function selectedCheckboxCount(form){
var length =0
;
var count =0;
while
(i<eles.length){
obj= eles. item(i);
//유형 = obj.attributes.item("type").nodeValue;
유형 = obj.type;
if(
type == "checkbox"){
if(obj.checked){
count++
}
}
return
count
;
//바이트 길이 가져오기
function getByteLen(str)
{
var l = str.length;
var n = l
for ( var i=0; i<l; i++ )
if ( str.charCodeAt(i) <0 || str.charCodeAt(i) >255 )
n=n+1
return n
}
/*
지침:
1. 테이블의 데이터를 지웁니다(0.0 및 0).
2. 셀에 데이터가 없으면 자동으로 공백이 추가됩니다.
3. 빈 행의 확인란을 지웁니다.
매개변수:
clearzero: "0" 및 "0.0"을 지울지 여부, 지우지 않으려면 false, 지우려면 true(기본값은 true)
tablename: 지울 테이블 이름, 기본값은 sortTable
*/
functionclear_table(clearzero,tablename)
{
var tobject;
if (tablename==null)
tobject=gmobj("sortTable");
else
tobject=gmobj(tablename);
//테이블이 정의되지 않은 경우 필터링이 수행되지 않습니다.
if(tobject==null)
반환;
//함수 호출 매개변수가 비어 있으면 0과 0.0을 지워야 함을 의미하고, 그렇지 않으면 0과 0.0을 지워서는 안 된다는 의미입니다.
var clear = (clearzero==null)?true:clearzero;
//0, 0.0 지우기, 공백 채우기
varrows = tobject.rows;
var j=0;
for(var i=0;i<rows.length;i++)
{
//첫 번째 셀의 속성 지우기, 1이면 이 행에 데이터가 없음을 나타내며 이 행의 모든 데이터를 지웁니다.
while(tobject.rows[i].cells[j] != null)
{
if(clear)
{
if(tobject.rows[i].cells[j].innerHTML==0 ||tobject.rows[i]. 세포[j].innerHTML==0.0||tobject.rows[i].cells[j].innerHTML=="")
tobject.rows[i].cells[j].innerText=" "
}
else
{
if (tobject.rows[i].cells[j].innerHTML=="")
tobject.rows
[i].cells[j].innerText=" "
}
j++
;
}
참을 반환
}
function gmobj(mtxt) /* 객체 이름으로 객체 가져오기 */
{
if (document.getElementById) {
m=document.getElementById(mtxt)
} else if (document.all) {
m=document.all[mtxt]
} else if (document.layers) {
m=document.layers[mtxt]
}
return m }
/
*
-------------------------- ------------------------------------- ---
설명: JavaScript 스크립트, 양식 끝에서 데이터 항목 확인
--------------------- -------------------------------------
*/
/*
목적: 입력 문자열이 소수점 숫자 형식인지 확인합니다. 음수가 될 수 있고 지정된 정밀도를 충족할 수 있습니다.
input: str: 문자열
l: 총 자릿수
d: 소수점 이하 자릿수
Return :
인증을 통과하면 true, 그렇지 않으면 false를 반환합니다.
*/
function isDecimal( str,l,d ){
if(isInteger(str)) {
if (l==null) return true
if (str<0) l--;
if (str.length<=l) return 진실;
}
var re = /^[-]{0,1}(d+)[.]+(d+)$/;
if (re.test(str)) {
if (l==null) true를 반환합니다
. (d==null) d=0;
if(RegExp.$1==0&&RegExp.$2==0)
if (RegExp.$1.length+RegExp.$2.length<=l
&& RegExp.$2.length< =d) true를 반환합니다.
}
false를 반환합니다
.
onclick="isNull('Co.PageForm.CompetitorName');"