메뉴 건너뛰기

조회 수 6321 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> 웹 기술대행 서비스는 업폴더 :: www.upfolder.com </title>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<meta name="keywords" content="완벽 자바스크립트 및 css를 이용한 숫자만 입력받기">
<meta name="description" content="완벽 자바스크립트 및 css를 이용한 숫자만 입력받기">
<meta name="author" content="www.upfolder.com">
</head>
<body>
<script language="javascript">
<!--
/*
// Function : onOnlyNumber
// Description : 숫자만 입력받도록
//  Param  : obj - text
//  Return  : true or false
*/
function onOnlyNumber(obj)
{
 for (var i = 0; i < obj.value.length ; i++){
  chr = obj.value.substr(i,1); 
  chr = escape(chr);
  key_eg = chr.charAt(1);
  if (key_eg == ’u’){
   key_num = chr.substr(i,(chr.length-1));  
   if((key_num < "AC00") || (key_num > "D7A3")) {
    event.returnValue = false;
   }   
  }
 }
 if (event.keyCode >= 48 && event.keyCode <= 57) {
 
 } else {
  event.returnValue = false;
 }
}
// EOF

//-->
</script>


<form name=upfolder>
<b>숫자만 입력받기 (onKeyPress) : </b><br>
<input type=text name=field1 size=30 onKeyPress="onOnlyNumber(this);">
<br>
<b>숫자만 입력받기 (onKeyDown) : </b><br>
<input type=text name=field2 size=30 onKeyDown="onOnlyNumber(this);">
</form>

 

<pre>
위와 같이 하면 한글입력을 막을 수 있습니다. 하지만 한가지 문제점이 있습니다.
위의 코드를 만들어 놓고 onKeyPress를 적용하면 한글을 쓰고 페이지 공백으로 포커스를 이동할 경우
마지막에 입력했던 한글이 그대로 나오게 됩니다.
* onKeyPress 대신 onKeyDown 사용하면 한글 키 자체를 입력하지 못함.
<br>
위에서 기술한 것보다 개량된 코드는 위 코드에서 style에 IME-MODE를 적용하여 함께 사용하는 것입니다.
이렇게 IME-MODE로 한글자체를 막아버리고 ASCII만을 허용하게 설정하는 것입니다.
</pre>

 

<br>
<hr size=1>
<pre>
ImeMode 속성은 IME(Input Method Editor)를 특정 모드로 전환하기 위해 폼과 컨트롤에서 사용합니다.
IME는 일반 키보드로 인코딩할 수 있는 것보다 더 많은 문자를 포함하고 있으므로 중국어, 일본어 및 한국어 스크립트를 작성하는 데 필수적인 구성 요소입니다.
예를 들어, 특정 입력란에 ASCII 문자만 사용하게 할 수도 있습니다.
이런 경우에 특정 입력란에 대해 ImeMode 속성을 Disable로 설정하면 사용자는 해당 입력란에 ASCII 문자만 입력할 수 있습니다.

 

사용방법 (Syntax)
HTML { ime-mode : sMode } 
Scripting object.style.imeMode [ = sMode ]

IME-MODE 에 설정가능한 값 (sMode 는 스트링형으로 아래 서술한 값중 하나를 설정할 수 있습니다.)
1. auto : Default. IME is not affected. This is the same as not specifying the ime-mode attribute.
2. active : All characters are entered through the IME. Users can still deactivate the IME.
3. inactive : All characters are entered without IME. Users can still activate the IME.
4. disabled : IME is completely disabled. Users cannot activate the IME if the control has focus.

테스트할 때는 키보드가 한글모드인지 영문모드인지 확인해 보고 모드를 바꾸어 가면서 테스트해 보세요.
</pre>


<form name=upfolder>
IME-MODE:auto/기본값으로 설정하지 않은 것과 같음 : <br>
<input type=text name=field1 size=30 style="IME-MODE:auto;">
<br>
IME-MODE:disabled/오로지 영문만 : <br>
<input type=text name=field1 size=30 style="IME-MODE:disabled;">
<br>
IME-MODE:inactive/기본영문, 한글전환 가능 : <br>
<input type=text name=field1 size=30 style="IME-MODE:inactive;">
<br>
IME-MODE:active/기본한글, 영문전환 가능 : <br>
<input type=text name=field1 size=30 style="IME-MODE:active;">
<br>


<hr size=1>
<br>
<b>숫자만 입력받기</b> ( style="IME-MODE:disabled;" onKeyDown=onOnlyNumber(this) ): <br>
<input type=text name=field1 size=30 style="IME-MODE:disabled;" onKeyDown="onOnlyNumber(this);">
</form>

 

</body>
</html>



List of Articles
번호 제목 날짜 조회 수
207 금액에 점찍고 한글 표시하기 2019.01.16 1271
206 체크박스 전체 선택 및 해제, 반드시 1개 이상 선택 강제 2019.01.16 1308
205 div태그를 이용한 클릭시 레이어 띄우기 2019.01.16 1329
204 오늘 날짜 구하기 2018.11.07 1416
203 opener 값전달, 함수실행.(자식창에서 부모창으로 값전달, 함수실행) 2021.03.26 1441
202 == / === / != / !== 차이 2018.11.07 1443
201 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1450
200 엔터키 / enter key submit form 2018.09.28 1528
199 날짜 계산 (Date) 마지막 날짜(말일)/윤달/윤년 처리하기 2021.08.20 1545
198 특정 부분 인쇄 자바스크립트 2019.01.16 1588
197 cross site scripting을 막기위한...javascript 2018.07.24 1596
196 key pressing 누르거나 클릭중인 이벤트 예제 2018.08.29 1622
195 시간 계산하기 (시/분/초/ 더하기, 빼기) 2021.08.20 1710
194 jQuery 엘리먼트 선택 2018.10.27 1732
193 팝업창 차단 "허용 메시지" 2018.09.28 1738
192 문자열 안에 쌍따옴표, 홑따옴표 표시하는 3가지 방법 file 2021.08.20 1792
191 반복문 사용할때 태그 식별하기 data-item 2018.07.04 1849
190 자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode() 2018.10.27 1913
189 텍스트박스 입력제한(숫자,영문,한글,특수기호) 2019.01.16 1992
188 Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항) file 2021.03.09 2176
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved