태그 보관물: input

input

“숫자”유형의 html 입력이 필드에 문자 ‘e’를 입력 할 수있는 이유는 무엇입니까? 있습니다. <input type=”number”> 이 입력이

다음 html5 입력 요소가 있습니다.

<input type="number">

이 입력이 왜 문자 ‘e’를 입력 필드에 입력 할 수있게합니까? 다른 알파벳 문자를 입력 할 수 없습니다 (예상대로)

크롬 사용하기 44.0.2403.107

무슨 뜻인지 확인하려면 : http://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_number



답변

그것이 정확히 스펙 이 작동한다고 말하는 방식이기 때문 입니다. 숫자 입력은 음수 기호 및 또는 문자를 포함하여 부동 소수점 숫자를 사용할 수 있습니다 (여기서 지수는 또는 뒤에있는 숫자 임).eEeE

부동 소수점 숫자는 정확히 다음 순서로 다음과 같은 부분으로 구성됩니다.

  1. 선택적으로, 첫 번째 문자는 ” -“문자 일 수 있습니다 .
  2. 0—9” 범위에있는 하나 이상의 문자
  3. 선택적으로 다음 부분은 정확히 다음 순서로 수행됩니다.
    1. .“문자
    2. 0—9” 범위에있는 하나 이상의 문자
  4. 선택적으로 다음 부분은 정확히 다음 순서로 수행됩니다.
    1. e“문자 또는 ” E“문자
    2. 선택적으로 ” -“문자 또는 ” +“문자
    3. 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="javascript: return event.keyCode === 8 ||
event.keyCode === 46 ? true : !isNaN(Number(event.key))" />

이것은 ‘e’, ​​’-‘, ‘+’, ‘.’를 피합니다. … 숫자가 아닌 모든 문자!

숫자 키만 허용하려면 :

isNaN (번호 (event.key))

“백 스페이스”(키 코드 : 8) 및 “삭제”(키 코드 : 46)는 허용합니다 …


답변

<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();
    }
};


답변

문자 e와 빼기 기호를 모두 숨기려면 -다음을 수행하십시오.

onkeydown="return event.keyCode !== 69 && event.keyCode !== 189"


답변

각도를 사용하여 e, +,-, E를 입력하도록 제한 할 수 있습니다.

 <input type="number"  (keypress)="numericOnly($event)"/>


  numericOnly(event): boolean { // restrict e,+,-,E characters in  input type number
    debugger
    const charCode = (event.which) ? event.which : event.keyCode;
    if (charCode == 101 || charCode == 69 || charCode == 45 || charCode == 43) {
      return false;
    }
    return true;

  }