Проверка десятичных чисел
У меня есть форма, и я использую плагин проверки jQuery для ее проверки. Теперь я пытаюсь проверить ввод десятичных чисел.
Я пробовал следующий код, но он не работает. Является ли проблема с регулярным выражением или способом написания пользовательского правила неправильной в моем коде?
rules: {
paid_amount: {
required:true,
rexp: ^[1-9]\d*(\.\d+)?$
},
}
},
messages: {
paid_amount: {
required: "Enter Paid Amount",
rexp:"Decimal Numbers Only"
},
}
});
Ответы
Ответ 1
Вы можете использовать метод проверки числа здесь
Из документов:
$("#myform").validate({
rules: {
field: {
required: true,
number: true
}
}
});
В вашем случае:
rules: {
paid_amount: {
required:true,
number: true
}
},
messages: {
paid_amount: {
required: "Enter Paid Amount",
number: "Decimal Numbers Only"
}
}
Ответ 2
Я не знаком с плагиатором jquery validator, извините, но
ваше регулярное выражение действительно.
другой подход будет
var reg = "/^[1-9]\d*(\.\d+)?$/"; //reg pattern<br/>
if(reg.test("1.23"))//validate
{
//do something <br/>
}
Ответ 3
jQuery validator также поддерживает десятичную проверку с использованием метода диапазона.
factor:
{
required: true,
range:[0.08,20.09]
},
Подробнее здесь и демо здесь.
Ответ 4
Использовать функцию jQuery isNumeric: http://api.jquery.com/jQuery.isNumeric/
Ответ 5
Ваша проблема связана с методом 'rexg'. Вы должны использовать 'pattern'. Пример:
paid_amount: {
required:true,
pattern: ^[1-9]\d*(\.\d+)?$
}