반응형
"숫자"유형의 html 입력이 필드에 문자 'e'를 입력 할 수있는 이유는 무엇입니까?
다음 html5 입력 요소가 있습니다.
<input type="number">
이 입력으로 문자 'e'를 입력 필드에 입력 할 수있는 이유는 무엇입니까? 다른 알파벳 문자를 입력 할 수 없습니다 (예상대로)
크롬 사용하기 44.0.2403.107
무슨 뜻인지 확인하려면 : http://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_number
그것이 정확히 스펙 이 작동한다고 말하는 방식이기 때문 입니다. 숫자 입력은 음수 기호 및 또는 문자를 포함하여 부동 소수점 숫자를 사용할 수 있습니다 (여기서 지수는 또는 뒤에있는 숫자 임).e
E
e
E
부동 소수점 숫자는 정확히 다음 순서로 다음과 같은 부분으로 구성됩니다.
- 선택적으로, 첫 번째 문자는 "
-
"문자 일 수 있습니다 .- "
0—9
" 범위에있는 하나 이상의 문자- 선택적으로 다음 부분은 정확히 다음 순서로 수행됩니다.
- "
.
"문자- "
0—9
" 범위에있는 하나 이상의 문자- 선택적으로 다음 부분은 정확히 다음 순서로 수행됩니다.
- "
e
"문자 또는 "E
"문자- 선택적으로 "
-
"문자 또는 "+
"문자- "
0—9
" 범위에있는 하나 이상의 문자
아래와 같이 간단하게 만들 수 있습니다
<input type="number" onkeydown="javascript: return event.keyCode == 69 ? false : true" />
업데이트 된 답변
@ 88 MPG가 제안한대로 더욱 간단하게 만들 수 있습니다
<input type="number" onkeydown="return event.keyCode !== 69" />
"e"는 숫자 기호 인 지수를 나타내므로 HTML 입력 숫자 유형은 "e / E"를 허용합니다.
예 200000은 2e5로 쓸 수도 있습니다. 이것이 질문에 감사하는 데 도움이되기를 바랍니다.
<input type="number" onkeydown="return FilterInput(event)" onpaste="handlePaste(event)" >
function FilterInput(event) {
var keyCode = ('which' in event) ? event.which : event.keyCode;
isNotWanted = (keyCode == 69 || keyCode == 101);
return !isNotWanted;
};
function handlePaste (e) {
var clipboardData, pastedData;
// Get pasted data via clipboard API
clipboardData = e.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text').toUpperCase();
if(pastedData.indexOf('E')>-1) {
//alert('found an E');
e.stopPropagation();
e.preventDefault();
}
};
숫자로만 구성된 숫자를 사용하는 가장 좋은 방법은 다음과 같습니다.
<input type="number" onkeydown="javascript: return event.keyCode === 8 || event.keyCode === 46 ? true : !isNaN(Number(event.key))" />
이것은 'e', '-', '+', '.'를 피합니다. ... 숫자가 아닌 모든 문자!
숫자 키만 허용하려면 :
isNaN (번호 (event.key))
"백 스페이스"(키 코드 : 8) 및 "삭제"(키 코드 : 46)는 허용합니다 ...
문자 e
와 빼기 기호를 모두 숨기려면 -
다음을 수행하십시오.
onkeydown="return event.keyCode !== 69 && event.keyCode !== 189"
반응형
'Programming' 카테고리의 다른 글
정수 나누기의 동작은 무엇입니까? (0) | 2020.05.13 |
---|---|
javac와 Eclipse 컴파일러의 차이점은 무엇입니까? (0) | 2020.05.13 |
각도 JS에서 이중 및 단일 중괄호의 차이점은 무엇입니까? (0) | 2020.05.13 |
Chrome 개발자 도구 : CSS 규칙을 재정의하는 것이 무엇인지 찾는 방법은 무엇입니까? (0) | 2020.05.13 |
이 메소드 서명에서 줄임표 (…)는 무엇입니까? (0) | 2020.05.13 |