要验证用户输入的是否为负数、正数或小数(小数保留一位),可以使用以下正则表达式:
/^-?\d+(\.\d{1})?$/
正则表达式解析:
^ 表示从字符串开始处匹配
-? 表示可选的负号,即允许输入负数
\d+ 表示至少一位数字,即整数部分
(.\d{1})? 表示小数部分,其中 . 表示小数点,\d{1} 表示一位数字,() 和 ? 表示整个小数部分是可选的
$ 表示从字符串结尾处结束匹配
因此,该正则表达式可以匹配的示例输入包括:
123
-456
789.0
-123.4
而不匹配的示例包括:
12.345 (小数保留一位,但是保留了多于1位)
987.6.5 (小数部分中包含两个小数点)
abc (包含了字母)
(小数部分缺少数字)
.12 (整数部分缺少数字)
您可以在提交表单时使用 JavaScript 的 match() 函数,将用户输入与该正则表达式进行匹配,以确保用户输入正确。例如:
let input = document.getElementById("input").value;
if (input.match(/^-?\d+(\.\d{1})?$/)) {
// 用户输入正确,进行相应操作
} else {
// 用户输入不正确,显示错误信息
}
注意:这里为了简化示例,省略了其他表单验证(如非空、数字范围等)的代码。在实际开发中,为了确保表单数据的安全性和一致性,应该对其进行多重验证。
js:
var reg = /^[\-\+]?\d+(\.\d)?$/;
var str = "";
reg.test(str);
java:
String reg = "^[\\-\\+]?\\d+(\\.\\d)?$";
String str = "";
str.matches(reg);