Проверка положительного числа в jquery
Я использовал выражение для проверки положительного числа следующим образом:
^\d*\.{0,1}\d+$
когда я даю ему ввод -23, он будет отмечать ввод как отрицательный, но когда я даю ему ввод +23, он будет отмечать его как недопустимый номер!
в чем проблема?
Может ли кто-нибудь дать решение, что с +23 оно вернется (положительно)?
Ответы
Ответ 1
Вы считали, что используете что-нибудь рядом с регулярными выражениями?
Если вы используете jQuery Validation Plugin, вы можете создать собственный метод проверки с помощью Validator/addMethod:
$.validator.addMethod('positiveNumber',
function (value) {
return Number(value) > 0;
}, 'Enter a positive number.');
Изменить:. Поскольку вы хотите только регулярные выражения, попробуйте следующее:
^\+?[0-9]*\.?[0-9]+$
Пояснение:
- Начало строки (
^
)
- Необязательный знак + (
\+?
)
- Целочисленная часть числа (
[0-9]*
)
- Дополнительная точка (
\.?
)
- Дополнительная часть с плавающей запятой (
[0-9]+
)
- Конец строки (
$
)
Ответ 2
Или просто используйте: min: 0.01
.
Например, за деньги
Ответ 3
Так как я ищу что-то подобное, это будет проверять положительное, отличное от нуля значение с необязательным знаком "+" (+).
^\+?[1-9][0-9]*$
Это не соответствует десятичным разрядам и не соответствует ведущим нулям.
Ответ 4
Самый простой способ -
$( "#myform" ).validate({
rules: {
field: {
required: true,
digits: true
}
}
});
ref: метод цифр | Плагин проверки jQuery → https://jqueryvalidation.org/digits-method/
Ответ 5
^\+?\d*.{0,1}\d+$
Получает возможность поставить "+" перед номером.
Ответ 6
Если вы настаиваете на использовании регулярного выражения, убедитесь, что вы также фиксируете числа с показателями и допускаете номера формы .42, что совпадает с 0,42.
^ +?\D *.?\D + ([еЕ] +?\D +)? $
должен выполнить трюк.
Ответ 7
ok, попробуйте это;
\+?\d*\.?\d+\b