간단한 체크 함수들
로빈아빠
본문
간단한 체크 함수들
/* ** 함수 목록 Trim(st) : 문자열 앞뒤 공란 제거 반환 LTrim(st) : 문자열 앞 공란 제거 반환 RTrim(st) : 문자열 뒤 공란 제거 반환 checkRequiredField(obj, msg) : 필수 항목 필드값 obj를 받아서 값(obj.value)이 비었을 경우 msg출력 isDate(strDate) : 1999-09-09, 1999/09/09 형식의 문자열 날짜값을 받아서 유효한지 체크 checkLength(obj, maxLen, fieldName) : 제한 길이를 넘는 값을 입력했는지 체크 isnotNumber(obj, msg) : 숫자값이 아닌지 체크 checkSection(obj, start, end, msg) : 숫자 데이터의 경우 범위를 넘지 않는지 체크 checkPermission(obj, str, msg) : 지정된 문자열에 포함된 문자만을 사용해서 입력했는지 체크 checkDenial(obj, str, msg) : 지정된 문자열에 포함된 문자를 제외하고 입력했는지 체크 ** 함수명에 따른 반환값 설정 : - check 로 시작하는 함수명의 경우 정상처리 가능이면 true 반환 - is 로 시작하는 경우 의미에 맞는 return 값을 반환 isDate() : 날짜인가? --> 날짜면 true, 아니면 false - isnot 로 시작하는 경우 의미에 맞는 return 값을 반환 isnotNumber() : 숫자가아닌가? --> 숫자가 아니면 true, 숫자면 false */ // Trim function Trim(st){ while(st && st.indexOf(" ") == 0) st = st.substring(1); while(st && st.lastIndexOf(" ") == st.length-1) st = st.substring(0, st.length-1); return st; } function LTrim(st){ while(st && st.indexOf(" ") == 0) st = st.substring(1); return st; } function RTrim(st){ while(st && st.lastIndexOf(" ") == 0) st = st.substring(1); return st; } // 필수항목 체크 function checkRequiredField(obj, msg){ if(Trim(obj.value) == ""){ if(msg != ""){ alert(msg); } obj.focus(); return false; } return true; } function checkRequiredField2(obj, msg, objFocus){ if(Trim(obj.value) == ""){ if(msg != ""){ alert(msg); } objFocus.focus(); return false; } return true; } // 날짜값 체크 function isDate(strDate){ var arrDate; var chkDate; if(strDate.indexOf("-") != -1){ arrDate = strDate.split("-"); } else{ arrDate = strDate.split("/"); } if(arrDate.length != 3){ return false; } chkDate = new Date(arrDate[0] + "/" + arrDate[1] + "/" + arrDate[2]); if(isNaN(chkDate) == true || (arrDate[1] != chkDate.getMonth() + 1 || arrDate[2] != chkDate.getDate())) { return false; } return true; } // 제한 길이 체크 // * checkLength(obj, maxLen, fieldName) // - obj : text or textarea object // - maxLen : 문자열 제한 길이 // --> obj.value.length가 제한 길이 보다 짧으면 true, 길면 false // - fieldName : Error가 발생한 필드의 이름 // --> "" 로 넣으면..Alert 띄우지 않음. function checkLength(obj, maxLen, fieldName){ var i, len=0; var s = obj.value; // String 길이를 구하는 부분.. for(i=0;i < s.length; i++) (s.charCodeAt(i) > 255)? len+=2:len++; // 길이 확인. if (maxLen < len) { if(fieldName != "") alert(fieldName + "은(는) " + maxLen + "자를 넘을 수 없습니다(한글은 글자당 2자로 계산됩니다.)"); obj.focus(); return false; } return true; } // 숫자값 체크 function isnotNumber(obj, msg){ if(isNaN(obj.value)){ if(msg != ""){ alert(msg); } obj.focus(); return true; } return false; } // 숫자값 범위 체크 function checkSection(obj, start, end, msg){ if(isnotNumber(obj, msg)){ return false; } if(parseInt(obj.value) >= start && parseInt(obj.value) <= end){ return true; } else{ alert(msg); obj.focus(); return false; } } // 지정된 문자 만으로 작성했는지 체크 function checkPermission(obj, str, msg){ var s = obj.value; for(var i=0; i < s.length; i++){ if(str.indexOf(s.charAt(i)) < 0){ if(msg != "") alert(msg); obj.focus(); return false; } } return true; } // 지정한 문자를 제외하고 작성했는지 체크 function checkDenial(obj, str, msg){ var s = obj.value; for(var i=0; i < s.length; i++){ if(str.indexOf(s.charAt(i)) > -1){ if(msg != "") alert(msg); obj.focus(); return false; } } return true; } // 이메일 체크 function isEmail(strEmail){ var str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"; var arrEmail = strEmail.split('@'); if(arrEmail.length == 2){ if(Trim(arrEmail[0]) == "" || Trim(arrEmail[1]) == ""){ return false; } else{ var chkEmail = arrEmail[0].split('.'); if(chkEmail.length > 1){ for(var i=0; i < chkEmail.length; i++){ for(var j=0; j < chkEmail[i].length; j++){ if(str.indexOf(chkEmail[i].charAt(j)) < 0){ return false; } } } } else{ for(var j=0; j < arrEmail[0].length; j++){ if(str.indexOf(arrEmail[0].charAt(j)) < 0){ return false; } } } chkEmail = arrEmail[1].split('.'); if(chkEmail.length > 1){ for(var i=0; i < chkEmail.length; i++){ for(var j=0; j < chkEmail[i].length; j++){ if(str.indexOf(chkEmail[i].charAt(j)) < 0){ return false; } } } } else{ for(var j=0; j < arrEmail[0].length; j++){ if(str.indexOf(arrEmail[0].charAt(j)) < 0){ return false; } } } return true; } } else{ return false; } }
관련링크
댓글목록
등록된 댓글이 없습니다.