2014-09-18 6 views
0

Я хочу, чтобы подтвердить ввод данных пользователя для правильной десятичной формы, как пользователь может ввести значения, как -123.4 или 123.4 но не --123.4 или -.234 или ..234 Вот то, что я сделал до сих пор, но он не работает должным образомпроверка жала для десятичного ввода Javascript

var input = control.value; 
     var indexM = input.match((/-/g) || []).length; 
     var indexD = input.match((/./g) || []).length; 
     if(indexM > 1 || indexD >1 ) 
     { 
     control.value=""; 
     alert('Invalid Value') 
     } 

ответ

-1

Вы должны проверить вход пользователя при каждом нажатии.

Например: если поле ввода ID = 'MyInputField»вы должны использовать следующий код

var decimalsRestrictions = function (field) { 
$(field).bind("propertychange input", function (e) { 
    var resVal = twoDecimalsRestrictions(field.val()); 
    if (field.val() != resVal) { 
     field.val(resVal); 
    } 
    }); 
}; 

var twoDecimalsRestrictions = function (num) { 
    var parts; 
    if (num.indexOf(".") !== -1) { 
     parts = num.split("."); 
     if (parts[1].length > 2) { 
      return num.substr(0, num.length - 1); 
     } 
    } 
    return num; 
}; 

decimalsRestrictions("#MyInputField"); 
0

Если приемлемо, вы можете просто сделать это,

$(document).ready(function() { 
$('[id$=txt1]').numeric({ allow: "." }); 
$('[id$=txt1]').numeric(); 
}); 

Где txt1 является экземпляр клиента имя текстового поля, в котором пользователь вводит данные.

Неверный ответ, не работает. Нельзя использовать как то же самое, что позволит несколько «.» и не допускать отрицательных чисел

0

Вы можете использовать регулярные выражения для проверки десятичного числа

var input = control.value; 
var exp = /^\-?\d*\.?\d*$/; 

if(!exp.test(input)) 
{ 
    control.value=""; 
    alert('Invalid Value') 
} 
+0

Нескольких точек не может быть проверен с помощью this.Since персонажа еще allowed.right? – Dilip

+0

Неправильно. он будет проверять несколько точек. вы можете проверить его –

+0

Я проверяю, его не работает для меня. Я также опубликовал один ответ, но дальнейшая проверка также кажется неправильной. – Dilip

Смежные вопросы