/*-------------------------------------------------------------------+ * 1. ÆÄÀϸí: valid.js * 2. ¼³ ¸í: ÇʼöÇ׸ñ¿©ºÎ ¹× ±æÀÌ¿¡ ´ëÇÑ À¯È¿¼º Á¡°ËÀ» * À§ÇÑ ÇÔ¼ö¸¦ Á¤ÀÇÇÑ´Ù. * 3. ÀÇÁ¸¼º: ui.js * 4. ÀÛ¼ºÀÚ: * 5. ÀÛ¼ºÀÏ: 2006.10.10. -------------------------------------------------------------------*/ /** * °ªÀÌ ºñ¾ú´ÂÁö ¿©ºÎ¸¦ Á¡°ËÇÏ¿© µ¹·ÁÁØ´Ù. * ÁÖ¾îÁø °ªÀÌ nullÀ̰ųª, undefinedÀ̰ųª ºó ¹®ÀÚ¿­("")À̸é * ºñ¾ú´Ù°í ÆÇ´ÜÇÑ´Ù. */ function isEmpty(value, afterTrim) { if ( value == null || typeof(value) == "undefined" ) return true; if ( afterTrim == undefined ) afterTrim = true; /* ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¸é ¹®ÀÚ¿­·Î º¯°æÇÑ´Ù. */ if ( typeof(value) == "string" ) value = new String(value); if ( afterTrim ) value = trim(value); return ("" == value); } /** * ÁÖ¾îÁø °´Ã¼ÀÇ °ªÀÌ ºó °ªÀÎÁö ¿©ºÎ¸¦ °Ë»çÇÏ¿© * µ¹·ÁÁØ´Ù. ºó°ªÀ̸é true, ¾Æ´Ï¸é falseÀÌ´Ù. */ function isEmptyObj(obj, afterTrim) { obj = ref(obj); return isEmpty(obj.value, afterTrim); } /** * ÁÖ¾îÁø °ªÀÌ Á¤¼ö °ªÀÎÁö ȤÀº Á¤¼ö·Î ġȯµÉ ¼ö ÀÖ´Â * ¹®ÀÚ¿­ °ªÀÎÁö ¿©ºÎ¸¦ µ¹·Á ÁØ´Ù. * ÀÚ¸´¼ö °ªÀÌ ÀÖÀ» °æ¿ì´Â ÀÚ¸´¼ö ÀÌÇÏÀÎÁöµµ °Ë»çÇÑ´Ù. * * @param cipher Á¦ÇÑ ÀÚ¸´¼ö. »çÀü ã¾Æ º¸´Ï ÀÌ ´Ü¾î³×¿ä. */ function isInteger(value, cipher) { /* ÀÏ´Ü ºó °ªÀ̸é true. */ if ( isEmpty(value) ) return true; /* value °ªÀÌ StringÀÌ ¾Æ´Ï¸é StringÀ¸·Î ¹Ù²Û´Ù. */ var numStr = ""; if ( typeof(value) != "string" ) numStr = new String(value); /* 3ÀÚ¸®¸¶´Ù Äĸ¶°¡ µé¾î°£ ¼ýÀÚÀÏ ¼öµµ ÀÖÀ¸´Ï Äĸ¶¸¦ »èÁ¦ÇÑ´Ù. */ numStr = removeChar(numStr, ","); /* ¼ýÀÚ°¡ ¾Æ´Ñ°¡? */ if ( isNaN(numStr) ) return false; /* ¼ýÀÚÀÌÁö¸¸ Á¤¼öÀΰ¡? ¼Ò¼ýÁ¡À» °¡Áö°í Àִ°¡? */ if ( numStr.indexOf(".") > -1 ) return false; /* ÀÚ¸´¼ö Á¦ÇÑÀÌ ÀÖ´Ù¸é ÁÖ¾îÁø ÀÚ¸´¼ö ÀÌÇÏÀΰ¡? */ if ( ! isEmpty(cipher) && numStr.length > cipher ) return false; /* ¿©±â±îÁö ¿ÔÀ¸¸é ÇÕ°Ý! */ return true; } /** * ÁÖ¾îÁø °ªÀÌ ¼Ò¼ö °ªÀÎÁö ȤÀº ¼Ò¼ö·Î ġȯµÉ ¼ö ÀÖ´Â * ¹®ÀÚ¿­ °ªÀÎÁö ¿©ºÎ¸¦ µ¹·Á ÁØ´Ù. * ÀÚ¸´¼ö °ªÀÌ ÀÖÀ» °æ¿ì´Â ÀÚ¸´¼ö ÀÌÇÏÀÎÁöµµ °Ë»çÇÑ´Ù. * * @param value ¼Ò¼ö ¿©ºÎ¸¦ È®ÀÎÇÒ °ª. * @param integerPartCipher Á¤¼öºÎ Á¦ÇÑ ÀÚ¸´¼ö. * @param fractionCipher ¼Ò¼öºÎ Á¦ÇÑ ÀÚ¸´¼ö. */ function isFloat(value, integerPartCipher, fractionCipher) { /* ÀÏ´Ü ºó °ªÀ̸é true. */ if ( isEmpty(value) ) return true; /* value °ªÀÌ StringÀÌ ¾Æ´Ï¸é StringÀ¸·Î ¹Ù²Û´Ù. */ var numStr = ""; if ( typeof(value) != "string" ) numStr = new String(value); /* 3ÀÚ¸®¸¶´Ù Äĸ¶°¡ µé¾î°£ ¼ýÀÚÀÏ ¼öµµ ÀÖÀ¸´Ï Äĸ¶¸¦ »èÁ¦ÇÑ´Ù. */ numStr = removeChar(numStr, ","); /* ¼ýÀÚ°¡ ¾Æ´Ñ°¡? */ if ( isNaN(numStr) ) return false; /* ÀÚ¸´¼ö Á¦ÇÑÀÌ ÀÖ´Ù¸é Á¤¼öºÎ¿Í ¼Ò¼öºÎ·Î ³ª´«´Ù. */ if ( ! isEmpty(integerPartCipher) || ! isEmpty(fractionCipher) ) { var tempArr = numStr.split("."); var intergerPart = tempArr[0]; // Á¤¼öºÎ var fractionPart = tempArr.length > 1 ? tempArr[1] : ""; // ¼Ò¼öºÎ /* Á¤¼öºÎ È®ÀÎ. */ if ( ! isEmpty(integerPartCipher) && intergerPart.length > integerPartCipher ) return false; /* ¼Ò¼öºÎ È®ÀÎ. */ if ( ! isEmpty(fractionCipher) && fractionPart.length > fractionCipher ) return false; } /* ¿©±â±îÁö ¿ÔÀ¸¸é ÇÕ°Ý! */ return true; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ª°ú °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param str ´ë»ó ¹®ÀÚ¿­ * @param length ºñ±³ byte ¼ö */ function checkLengthEQ(str, length) { return countByte(str) == length; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ª°ú °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö */ function checkLengthEQObj(obj, length) { return checkLengthEQ(obj.value, length); } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ª°ú °°ÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param value °Ë»ç´ë»ó °ª. * @param length ºñ±³ byte ¼ö. * @param fieldName Ç׸ñ¸í */ function validateLengthEQ(value, length, fieldName) { if ( fieldName == undefined ) { fieldName = ""; } else { fieldName += "ÀÇ "; } var valid = checkLengthEQ(value, length); if ( ! valid ) { showMessage(fieldName + " °ªÀº " + length + " ±ÛÀÚ(¼ýÀÚ, ¿µ¹® ±âÁØ)À̾î¾ß ÇÕ´Ï´Ù."); } return valid; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ª°ú °°Áö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö * @param fieldName Ç׸ñ¸í */ function validateLengthEQObj(obj, length, fieldName) { var valid = validateLengthEQ(obj.value, length, fieldName); if ( ! valid ) { obj.focus(); } return valid; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù Å«Áö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param str ´ë»ó ¹®ÀÚ¿­ * @param length ºñ±³ byte ¼ö */ function checkLengthGT(str, length) { return countByte(str) > length; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù Å«Áö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö */ function checkLengthGTObj(obj, length) { return checkLengthGT(obj.value, length); } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù Å«Áö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param value °Ë»ç´ë»ó °ª. * @param length ºñ±³ byte ¼ö. * @param fieldName Ç׸ñ¸í */ function validateLengthGT(value, length, fieldName) { if ( fieldName == undefined ) { fieldName = ""; } else { fieldName += "ÀÇ "; } var valid = checkLengthGT(value, length); if ( ! valid ) { showMessage(fieldName + " °ªÀº " + length + " ±ÛÀÚ(¼ýÀÚ, ¿µ¹® ±âÁØ)º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù."); } return valid; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù Å«Áö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö * @param fieldName Ç׸ñ¸í */ function validateLengthGTObj(obj, length, fieldName) { var valid = validateLengthGT(obj.value, length, fieldName); if ( ! valid ) { obj.focus(); } return valid; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param str ´ë»ó ¹®ÀÚ¿­ * @param length ºñ±³ byte ¼ö */ function checkLengthLT(str, length) { return countByte(str) < length; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö */ function checkLengthLTObj(obj, length) { return checkLengthLT(obj.value, length); } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param value °Ë»ç´ë»ó °ª. * @param length ºñ±³ byte ¼ö. * @param fieldName Ç׸ñ¸í */ function validateLengthLT(value, length, fieldName) { if ( fieldName == undefined ) { fieldName = ""; } else { fieldName += "ÀÇ "; } var valid = checkLengthLT(value, length); if ( ! valid ) { showMessage(fieldName + " °ªÀº " + length + " ±ÛÀÚ(¼ýÀÚ, ¿µ¹® ±âÁØ)º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù."); } return valid; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö * @param fieldName Ç׸ñ¸í */ function validateLengthLTObj(obj, length, fieldName) { var valid = validateLengthLT(obj.value, length, fieldName); if ( ! valid ) { obj.focus(); } return valid; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù Å©°Å³ª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param str ´ë»ó ¹®ÀÚ¿­ * @param length ºñ±³ byte ¼ö */ function checkLengthGE(str, length) { return countByte(str) >= length; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ª°ú Å©°Å³ª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö */ function checkLengthGEObj(obj, length) { return checkLengthGE(obj.value, length); } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param value °Ë»ç´ë»ó °ª. * @param length ºñ±³ byte ¼ö. * @param fieldName Ç׸ñ¸í */ function validateLengthGE(value, length, fieldName) { if ( fieldName == undefined ) { fieldName = ""; } else { fieldName += "ÀÇ "; } var valid = checkLengthGE(value, length); if ( ! valid ) { showMessage(fieldName + " °ªÀº " + length + " ±ÛÀÚ(¼ýÀÚ, ¿µ¹® ±âÁØ)º¸´Ù Å©°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù."); } return valid; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù ÀÛÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö * @param fieldName Ç׸ñ¸í */ function validateLengthGEObj(obj, length, fieldName) { var valid = validateLengthGE(obj.value, length, fieldName); if ( ! valid ) { obj.focus(); } return valid; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù À۰ųª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param str ´ë»ó ¹®ÀÚ¿­ * @param length ºñ±³ byte ¼ö */ function checkLengthLE(str, length) { return countByte(str) <= length; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù À۰ųª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© °°À¸¸é true¸¦, ´Ù¸£¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö */ function checkLengthLEObj(obj, length, fieldName) { return checkLengthLE(obj.value, length); } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù À۰ųª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param value °Ë»ç´ë»ó °ª. * @param length ºñ±³ byte ¼ö. * @param fieldName Ç׸ñ¸í */ function validateLengthLE(value, length, fieldName) { if ( fieldName == undefined ) { fieldName = ""; } else { fieldName += "ÀÇ "; } var valid = checkLengthLE(value, length); if ( ! valid ) { showMessage(fieldName + " °ªÀº " + length + " ±ÛÀÚ(¼ýÀÚ, ¿µ¹® ±âÁØ)º¸´Ù À۰ųª °°¾Æ¾ß ÇÕ´Ï´Ù."); } return valid; } /** * TextÇü ÀÔ·ÂÆû °ªÀÇ byte ¼ö°¡ lengthÀÇ °ªº¸´Ù À۰ųª °°ÀºÁö¸¦ * °Ë»çÇÏ¿© ±×·¸´Ù¸é true¸¦, ±×·¸Áö ¾ÊÀ¸¸é false¸¦ µ¹·ÁÁØ´Ù. * * @param obj TextÇü ÀÔ·ÂÆû °´Ã¼ * @param length ºñ±³ byte ¼ö * @param fieldName Ç׸ñ¸í */ function validateLengthLEObj(obj, length, fieldName) { var valid = validateLengthLE(obj.value, length, fieldName); if ( ! valid ) { obj.focus(); } return valid; } /* ÇʼöÇ׸ñ ¿©ºÎ¸¦ Á¡°ËÇÏ¿© Ç׸ñÀÌ ÀÖÀ¸¸é true¸¦, * ¾øÀ¸¸é ¿À·ù ¸Þ¼¼Áö¸¦ º¸¿©ÁÖ°í false¸¦ µ¹·Á ÁØ´Ù. */ function validateMandatory(value, fieldName) { var isValid = ! isEmpty(value); if ( fieldName == undefined ) fieldName = "°Ë»ç"; if ( ! isValid ) { showMessage(fieldName + " Ç׸ñÀº ÇʼöÀÔ·Â »çÇ×ÀÔ´Ï´Ù."); } return isValid; } function validateMandatoryObj(obj, fieldName) { var isValid = validateMandatory(obj.value, fieldName); if ( ! isValid ) obj.focus(); return isValid; }