var W, alertCount; W = window; function FORM_CHECK( M ) { if( M == null ) { W.alert( 'ÇØ´ç ÆûÀÌ ÀÎÀÚ·Î ³Ñ¾î¿ÀÁö ¾Ê¾Ò½À´Ï´Ù.' ); return false; } var Element, ElementLen; Element = M.elements; ElementLen = Element.length; var ele, eleRequired, eleValidate, eleMet, eleMessage, eleMax, eleMin; var eleType, eleValue, eleName, eleExp; var i, c; for( i = 0; i < ElementLen; i++ ) { ele = Element[i]; eleRequired = ele.getAttribute( 'required' ); eleValidate = ele.getAttribute( 'validate' ); eleMet = ele.getAttribute( 'met' ); eleMessage = ele.getAttribute( 'message' ); eleMax = ele.getAttribute( 'max' ); eleMin = ele.getAttribute( 'min' ); if ( eleRequired != null ) { eleType = ele.type; if( /checkbox|radio/.test( eleType ) ) { eleValue = ''; eleName = ele.name; for( c = i; c < ElementLen; c++ ) { if( eleName == Element[c].name ) { if( Element[c].checked ) { eleValue = '1'; break; } } else break; } } else { eleValue = ele.value.replace( /^[\s\'\"%;]{2,}/, '' ); ele.value = eleValue; } if( eleValidate === 'absolute' ) { if( eval( eleMet ) ) { continue; } else { return false; } } else if( eleValue === '' ) { if( /\);/.test( eleMet ) ) { eval( eleMet ); } else { if( alertCount == i ) { if( eleMessage == null ) { eleMessage = eleMet + ' Ç×¸ñÀ» ' + ( ( /text|password/.test( eleType ) ) ? 'ÀÔ·Â' : '¼±ÅÃ' ) + 'ÇØ ÁÖ¼¼¿ä'; } W.alert( eleMessage ); } else { alertCount = i; } ele.focus( ); } return false; } else if( eleMin != null && eleValue.length < eleMin ) { W.alert( eleMet + ' Ç×¸ñÀº ' + eleMin + 'ÀÚ ÀÌ»óÀÔ´Ï´Ù.' ); ele.focus( ); return false; } else if( eleMax != null && eleValue.length < eleMax ) { W.alert( eleMet + ' Ç×¸ñÀº ' + eleMax + 'ÀÚ ¹Ì¸¸ÀÔ´Ï´Ù.' ); ele.focus( ); return false; } else { if( ( eleValidate == 'password' && i > 0 )  && eleValue !== Element[i-1].value && /password/.test( Element[i-1].required ) ) { W.alert( 'ºñ¹Ð¹øÈ£ Ç×¸ñ°ú ºñ¹Ð¹øÈ£È®ÀÎ Ç×¸ñÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. È®ÀÎÇÏ½Ã°í ´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä' ); ele.value = Element[i-1].value = ''; Element[i-1].focus( ); return false; } else if( eleMet == 'email' && /hanmail|daum/.test( eleValue ) ) { W.alert( 'ÇÑ¸ÞÀÏ (hanmail.net/daum.net)Àº µî·Ï ÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.' ); ele.focus( ); ele.select( ); return false; } } } if( ele.value != '' && eleValidate != null ) { eleExp = VALIDATE_PART( eleValidate ); if( eleExp ) { if( ! eleExp[1].test( ele.value ) ) { W.alert( eleMet + 'Ç×¸ñ ' + eleExp[0] ); ele.focus( ); ele.select( ); return false; } else if( ( eleMet == 'ssn2' || eleMet == 'ssn' ) && ! SSN_CHECK( eleValidate, Element, i ) ) { return false; } } } } return true; } function VALIDATE_PART( eleValidate ) { switch( eleValidate ) { case 'eng' : return [ 'Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ¸¸ Çã¿ëµË´Ï´Ù.', /^[a-z]+$/ ]; break; case 'num' : return [ 'Çü½ÄÀº ¼ýÀÚ¸¸ Çã¿ëµË´Ï´Ù.', /^\d+$/ ]; break; case '0-' : return [ 'Çü½ÄÀº ¼ýÀÚ¿Í ÇÏÀÌÇÂ( \'-\' )¸¸ Çã¿ëµË´Ï´Ù.', /^[\d-]+$/ ]; break; case '0,' : return [ 'Çü½ÄÀº ¼ýÀÚ¿Í ÄÄ¸¶( \',\' )¸¸ Çã¿ëµË´Ï´Ù.', /^[\d,]+$/ ]; break; case '0.' : return [ 'Çü½ÄÀº ¼ýÀÚ¿Í ¼Ò¼öÁ¡( \'.\' )¸¸ Çã¿ëµË´Ï´Ù.', /^[\d\.]+$/ ]; break; case 'a0' : return [ 'Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ¿Í ¼ýÀÚ¸¸ Çã¿ëµË´Ï´Ù.', /^[a-z\d]+$/ ]; break; case 'a0_' : return [ "Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ, ¼ýÀÚ, ¾ð´õ¹Ù( '_' )¸¸ Çã¿ëµË´Ï´Ù.", /^[a-z\d_]+$/ ]; break; case 'a0-' : return [ "Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ, ¼ýÀÚ, ÇÏÀÌÇÂ( '-' )¸¸ Çã¿ëµË´Ï´Ù.", /^[a-z\d-]+$/ ]; break; case 'a0_-' : return [ "Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ, ¼ýÀÚ, ÇÏÀÌÇÂ( '-' ), ¾ð´õ¹Ù( '_' )¸¸ Çã¿ëµË´Ï´Ù.", /^[a-z\d_-]+$/ ]; break; case 's' : return [ 'Çü½ÄÀº °ø¹éÀÌ Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.', /^[^\s]+$/ ]; break; case 'sf' : return [ 'Çü½ÄÀº °ø¹é°ú Æ¯¼ö¹®ÀÚ°¡ Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.', /^[^\s\W_]+$/ ]; break; case 'id' : return [ "Çü½ÄÀº ¿µ¹®¼Ò¹®ÀÚ, ¼ýÀÚ, ¾ð´õ¹Ù('_')¸¸ Çã¿ëµË´Ï´Ù.(Ã¹ÀÚ¿µ¹®)", /^[a-z][a-z\d_]+$/ ]; break; case 'password' : return [ 'Çü½ÄÀº °ø¹é°ú Æ¯¼ö¹®ÀÚ°¡ Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.', /^[^\s\W_]+$/ ]; break; case 'name' : return [ 'Çü½ÄÀº °ø¹éÀÌ Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.', /^[^\s]+$/ ]; break; case 'ssn' : return [ 'Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.', /^\d{2}[01]\d[0-3]\d-[1-8]\d{6}$/ ]; break; case 'ssn1' : return [ 'Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.', /^\d{2}[01]\d[0-3]\d$/ ]; break; case 'ssn2' : return [ 'Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.', /^[1-8]\d{6}$/ ]; break; case 'email' : return [ 'Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. ', /^\w[\w-~\.]*\w@\w[\w-~\.]*\w\.\w[\w-~\.]*\w$/ ]; break; default : return false; break; } } function SSN_CHECK( eleValidate, Element, i ) { var ssnAll, ssnYear, ssnBirth; var ssnMultiply, ssnMultiplyLen, ssnResult; var b; var ssnBool = false; ssnAll = ( eleValidate == 'ssn2' ) ? ( Element[i-1].value + Element[i].value ) : Element[i].value.replace( '-', '' ); /^(..)(..)(..)(.)/.exec( ssnAll ); ssnYear = ( ( /[3478]/.test( RegExp.$4 ) ) ? '20' : '19' ) + RegExp.$1; ssnBirth = new Date( ssnYear, ( RegExp.$2-1 ), RegExp.$3 ); if( ( ssnBirth.getYear( ) % 100 ) == RegExp.$1 && 20 < RegExp.$1 &&  ssnBirth.getMonth( ) == ( RegExp.$2-1 ) && ssnBirth.getDate( ) == RegExp.$3 ) { ssnMultiply = [ 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5 ]; ssnMultiplyLen = ssnMultiply.length; for( b = 0; b < ssnMultiplyLen; b++ ) { ssnMultiply[b] *= ssnAll.substr( b, 1 ); } ssnResult = ( 11 - ( eval( ssnMultiply.join( '+' ) ) % 11 ) ) % 10; ssnBool = ( /\d$/.exec( ssnAll ) == ssnResult ); } if( ! ssnBool ) { W.alert( 'Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. È®ÀÎÇÏ½Ã°í ´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä' ); if( eleValidate == 'ssn2' ) { Element[i].value = Element[i-1].value = ''; Element[i-1].focus( ); } else { Element[i].value = ''; Element[i].focus( ); } return false; } return true; } function SSN_REP( ssn ) { var ssnValue; ssnValue = ssn.value; if( ssnValue.length > 5 ) { ssn.value = ssnValue.replace( /^(.{6})(.)?(.*)?/, '$1-$3' ); } }