2015-03-24 2 views
1

У меня есть текстовое поле, которое должно принимать только значение float. Это не должно допускать никакой другой ценности. Как это сделать. Я сделал это в HTML.Текстовое поле Java Script

<h1>Weight</h1> 
      <input class="textbox" type="number" step="0.01" name="weight" id="weight" 
       maxlength="5"></input> 

Но это не работает? Как это сделать.

+0

Это поможет вам -> [Как разрешить только числовые (0-9) в HTML InputBox с помощью JQuery?] (Http://stackoverflow.com/a/995193/1407478) 'тип =» номер "' сам по себе не мешает символам ни одного номера, он предоставляет только кнопки со стрелками в _some_ браузерах. Хотя предлагаемая ссылка нацелена на jQuery, ее легко реализовать на простом javascript. – davidkonrad

+0

Возможный дубликат [разрешающий ввод только для числа с плавающей точкой] (http://stackoverflow.com/questions/10150877/allowing-input-only-for-float-number) –

+0

также полезно http://stackoverflow.com/questions/ 12467542/how-can-i-check-if-a-string-is-a-float –

ответ

0
// remove whitespaces 
var input = input.replace(/\s+/g,""); 

// check if the input is a valid number 
if(isFinite(input) && input != ''){ 
    // do your thing 
} 

Помните, что isFinite принимает только значения, как '20 .50' , а не '20, 50' .
проверка пустой строки необходима, так как isFinite('') возвращает true.

function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 
Смежные вопросы