/*-------------------------------------------------------------------+ * 1. ÆÄÀϸí: key.js * 2. ¼³ ¸í: Key ÀÔ·ÂÀ» Á¦ÇÑÇϱâ À§ÇÑ ÇÔ¼ö¸¦ Á¤ÀÇÇÑ´Ù. * 3. ÀÇÁ¸¼º: string.js * 4. ÀÛ¼ºÀÚ: * 5. ÀÛ¼ºÀÏ: 2006.10.10. -------------------------------------------------------------------*/ /** * ´­¸° ۰¡ Control KeyÀ̸é true, ¾Æ´Ï¸é false */ function isControlKey() { var key = event.keyCode; return ( key == 8 // || key == 9 // || key == 13 // || key == 35 // || key == 36 // || key == 37 // <¡ç> || key == 39 // <¡æ> || key == 46 // || key == 144 // ); } /** * ´­¸°Å°°¡ ¼ýÀÚ۸é true, ¾Æ´Ï¸é false */ function isDigitKey() { var key = event.keyCode; return ( key >= 48 && key <= 57 ) || ( key >= 96 && key <= 105 ); } /** * ´­¸°Å°°¡ Ư¼ö¹®ÀÚŰÀ̸é true, ¾Æ´Ï¸é false; */ function isSpecialCharKey() { } /** * ¼ýÀÚ¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù. */ function limitAsDigit() { event.returnValue = isControlKey() || isDigitKey(); } /** * Á¤¼ö¸¸ ÀԷ¹ްíÀÚ ÇÏ´Â °æ¿ìÀÇ onKeyDownÀ̺¥Æ® Çڵ鷯 */ function limitAsInt(limit) { if ( isControlKey() ) { event.returnValue = true; return ; } var key = event.keyCode; var str = event.srcElement.value; var intLengthValid = true; // Á¤¼ö ÀÚ¸®¼ö°¡ á´ÂÁö °Ë»çÇÏ¿© áÀ¸¸é // ´õ ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø°Ô ÇÑ´Ù. ÀÌ ¶§ ÀÚ¸´¼ö¿¡¼­ // ¾Õ¿¡ ¾çÀ½ ±âÈ£(+/-)´Â Á¦ÇÑ´Ù. if ( limit != undefined ) { var intLength = removeChar(str, ',').length; if ( str.charAt(0) == '-' || str.charAt(0) == '+' ) { intLength--; } intLengthValid = intLength < limit; } event.returnValue = intLengthValid && ( isDigitKey() || key == 189 || key == 109 // <-> ); } /** * ¾çÀÇ Á¤¼ö¸¸ ÀԷ¹ްíÀÚ ÇÏ´Â °æ¿ìÀÇ onKeyDownÀ̺¥Æ® Çڵ鷯 */ function limitAsPlusInt(limit) { if ( isControlKey() ) { event.returnValue = true; return ; } var key = event.keyCode; var str = event.srcElement.value; var intLengthValid = true; // Á¤¼ö ÀÚ¸®¼ö°¡ á´ÂÁö °Ë»çÇÏ¿© áÀ¸¸é // ´õ ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø°Ô ÇÑ´Ù. if ( limit != undefined ) { intLengthValid = removeChar(str, ',').length < limit; } event.returnValue = intLengthValid && isDigitKey(); } /** * ½Ç¼ö¸¦ ÀԷ¹ްíÀÚ ÇÏ´Â °æ¿ìÀÇ onKeyDownÀ̺¥Æ® Çڵ鷯 */ function limitAsFloat(limit) { if ( isControlKey() ) { event.returnValue = true; return ; } var str = event.srcElement.value; var key = event.keyCode; var dotNoValid = true; // ¼Ò¼ýÁ¡ ÀÚ¸®¼ö°¡ á´ÂÁö °Ë»çÇÏ¿© áÀ¸¸é // ´õ ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø°Ô ÇÑ´Ù. if ( limit != undefined ) { var dotIndex = str.lastIndexOf('.'); if ( dotIndex > -1 ) { dotNoValid = str.length - dotIndex - 1 < limit; } } var dotValid = true; // ¼Ò¼ýÁ¡ÀÌ ÀÌ¹Ì ÂïÇûÀ¸¸é ¼Ò¼ýÁ¡Àº ´õ ÂïÁö ¸øÇÏ°Ô ÇÑ´Ù. if ( str.indexOf('.') > -1 && ( key == 190 || key == 229 ) ) { dotValid = false; } event.returnValue = dotValid && dotNoValid && ( isDigitKey() || key == 189 || key == 109 // <-> || key == 190 || key == 229 || key == 110 // <.> ); } /** * ¾çÀÇ ½Ç¼ö¸¦ ÀԷ¹ްíÀÚ ÇÏ´Â °æ¿ìÀÇ onKeyDownÀ̺¥Æ® */ function limitAsPlusFloat(limit) { if ( isControlKey() ) { event.returnValue = true; return ; } var str = event.srcElement.value; var key = event.keyCode; var dotNoValid = true; // ¼Ò¼ýÁ¡ ÀÚ¸®¼ö°¡ á´ÂÁö °Ë»çÇÏ¿© áÀ¸¸é // ´õ ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø°Ô ÇÑ´Ù. if ( limit != undefined ) { var dotIndex = str.lastIndexOf('.'); if ( dotIndex > -1 ) { dotNoValid = str.length - dotIndex - 1 < limit; } } var dotValid = true; // ¼Ò¼ýÁ¡ÀÌ ÀÌ¹Ì ÂïÇûÀ¸¸é ¼Ò¼ýÁ¡Àº ´õ ÂïÁö ¸øÇÏ°Ô ÇÑ´Ù. if ( str.indexOf('.') > -1 && ( key == 190 || key == 229 ) ) { dotValid = false; } event.returnValue = dotValid && dotNoValid && ( isDigitKey() || key == 190 || key == 229 || key == 110 // <.> ); } /** * Çѱ۰ú ½ºÆäÀ̽º Key¸¸ Çã¿ëÇÑ´Ù. */ function limitAsHangul() { if ( isControlKey() ) { event.returnValue = true; return ; } var key = event.keyCode; event.returnValue = ( key == 32 // ½ºÆäÀ̽ºÅ° || key == 229 // ÇѱÛŰ. ±Ùµ¥ ¿Ö ÇѱÛÀº ¹«Á¶°Ç 229Àϱî? ); } /** * Çѱ۰ú ¼ýÀÚ, ½ºÆäÀ̽º Key¸¸ Çã¿ëÇÑ´Ù. */ function limitAsHangulAndNo() { if ( isControlKey() ) { event.returnValue = true; return ; } var key = event.keyCode; event.returnValue = isDigitKey() || ( key == 32 // ½ºÆäÀ̽ºÅ° || key == 229 // ÇѱÛŰ. ±Ùµ¥ ¿Ö ÇѱÛÀº ¹«Á¶°Ç 229Àϱî? ); }