Почему ввод html с типом «число» позволяет ввести букву «e» в поле?
У меня есть следующий элемент ввода html5:
Почему этот вход позволяет ввести символ «e» в поле ввода? Никакой другой символ алфавита не может быть введен (как и ожидалось)
Использование chrome v. 44.0.2403.107
- Как вы извлекаете числовое значение из строки в запросе MySQL?
- Как читать значения из чисел, написанных как слова?
- Как сделать область ввода номера изначально пустой вместо 0 или 0.00?
- Что это означает, когда числовая константа в C / C ++ имеет префикс с 0?
- Целое число с ведущими нулями
Чтобы увидеть, что я имею в виду: http://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_number
- Диалог выбора номера Android
- Показывать число до двух знаков после запятой
- Сравнение чисел в Java
- Как получить ближайшее число из списка с LINQ?
- Как сравнить два числа с плавающей запятой в Bash?
- Размер файла формата как MB, GB и т. Д.
- Дженерики - где Т - число?
- Как включить в это регулярное выражение отрицательные десятичные числа?
Потому что именно так спецификация говорит, что она должна работать. Ввод номера может принимать номера с плавающей запятой , включая отрицательные символы и символ e
или E
:
Число с плавающей запятой состоит из следующих частей в точно следующем порядке:
- Необязательно, первый символ может быть символом «
-
».- Один или несколько символов в диапазоне «
0—9
».- Необязательно, следующие части, в точно следующем порядке:
- символ ”
.
”- один или несколько символов в диапазоне «
0—9
»- Необязательно, следующие части, в точно следующем порядке:
- символ ”
e
” или символ ”E
”- необязательно, символ «
-
» или «+
»- Один или несколько символов в диапазоне «
0—9
».
Мы можем сделать это так просто, как показано ниже.
Тип входного номера HTML позволяет «e / E», потому что «e» обозначает экспоненту, которая является числовым символом.
Пример 200000 также может быть записан как 2e5. Надеюсь, это поможет вам поблагодарить вас за этот вопрос.
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(); } };