javascript - 不能禁止测试中的负数
问题描述
我只想接受正十进制数。这是我所做的:
$("#btn").on("click", function() {
var regex = new RegExp(/^\+?\d+,|\.?\d+$/);
var test = regex.test($("#param_valeur").val());
if (test == false) {
$.alert({
title: 'Erreur',
content: 'Veuillez saisir un nombre !',
});
} else {
$.post({
url:"/track/admin/configureSeuilHorsZone",
data:$("#frm").serialize(),
success:function(data, status, xhr) {
$("#george_content").load("/track/welcome");
}
});
}
});
但在运行时它接受负数!那么如何禁止负数呢?
解决方案
您的正则表达式交替和模式没有按照您的想法进行,但无论如何,这里是一个仅匹配正十进制数/整数的正则表达式模式:
^\+?\d+(?:\.\d+)?$
如果您想在整数部分使用逗号,请使用:
^\+?\d{1,3}(?:,\d{3})*(?:\.\d+)?$
这是对第二个正则表达式模式的解释:
^ from the start of the string
\+? match an optional leading + sign
\d{1,3} then match 1 to 3 digits
(?:,\d{3})* followed by zero or more thousands groups (e.g. ,123)
(?:\.\d+)? followed by an optional decimal component
$ end of string
推荐阅读
- perl - 如何包装需求和使用?
- r - 如何在ggplot2中使用position =“identity”更改重叠条的顺序
- javascript - 从后端函数调用返回数据到前端(Wix Corvid)
- r - 使地铁图包括 ggplot2 r 中的 102 个主题
- php - acf.json - 你可以在本地编辑吗?
- laravel - 无限嵌套类别不起作用,方法 Illuminate\Database\Eloquent\Collection::childrenRecursive 不存在
- r - 计算员工工作时间的缺勤时间
- python - 从粒子列表中创建唯一对
- python - 尝试使 python shell 在启动时全屏显示,并使弹出图像直接全屏显示
- python - 使用 apply 和 where 和第二个 apply 更新 Panda 数据框