正则表达式 可以输入负数、正数、小数(小数保留一位)。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 可以输入负数、正数、小数(小数保留一位)。相关的知识,希望对你有一定的参考价值。

input类型为number,要验证用户输入的是否正确,求正则表达式 可以输入负数、正数、小数(小数保留一位)。

要验证用户输入的是否为负数、正数或小数(小数保留一位),可以使用以下正则表达式:

/^-?\d+(\.\d1)?$/
正则表达式解析:

^ 表示从字符串开始处匹配
-? 表示可选的负号,即允许输入负数
\d+ 表示至少一位数字,即整数部分
(.\d1)? 表示小数部分,其中 . 表示小数点,\d1 表示一位数字,() 和 ? 表示整个小数部分是可选的
$ 表示从字符串结尾处结束匹配
因此,该正则表达式可以匹配的示例输入包括:

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+(\.\d1)?$/))
// 用户输入正确,进行相应操作
else
// 用户输入不正确,显示错误信息

注意:这里为了简化示例,省略了其他表单验证(如非空、数字范围等)的代码。在实际开发中,为了确保表单数据的安全性和一致性,应该对其进行多重验证。
参考技术A js:
var reg = /^[\-\+]?\d+(\.\d)?$/;
var str = "";
reg.test(str);

java:
String reg = "^[\\-\\+]?\\d+(\\.\\d)?$";
String str = "";
str.matches(reg);本回答被提问者和网友采纳

求只能输入 正数和两位小数 的正则表达式,要能用的。。。

我在网上找了好久,发现这个还差不多[0-9]+\.?[0-9]*,就是不能控制小数的位数。请各位大侠,发能用的。。。

/**
 * 校验精确到小数点后最多两位的数字
 * @author g8up.cn
 * @date 2017.06.14
 */

//测试
function test( reg )
// 用例: case + 预期
const ret = [
case:\'0\',
exp: true,
,
case:\'0.1\',
exp: true,
,
case:\'0.12\',
exp: true,
,
case:\'0.123\',
exp: false,
,
case:\'-0.12\',
exp: true,
,
case:\'12\',
exp: true,
,
case:\'012\',
exp: false,
,
case:\'-012\',
exp: false,
,
case:\'12.0\',
exp: true,
,
case:\'12.\',
exp: false,
,
case:\'00\',
exp: false,
,
case:\'-0\',
exp: true,
,
case:\'-12.123\',
exp: false,
,
case:\'-0.1.2\',
exp: false,
,].filter( item => 
return reg.test( item.case) !== item.exp;
);

console.log(\'验证不通过的用例有\', ret.map(item=>item.case).join(\'\\n\') );// 打印非预期


var reg = /^((?:-?0)|(?:-?[1-9]\\d*))(?:\\.\\d1,2)?$/;
test( reg );
参考技术A 用这个\d1,\.\d2$
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
参考技术B /^([1-9]\\d*|0)(\\.\\d1,2)?$/

/^([1-9]\\d*|0)(\\.\\d1,2)?$/

匹配整数或最多两位小数

参考技术C ^([1-9][0-9]*)(\.[0-9]2)?$|^(0\.[0-9]2)$ 参考技术D [0-9]+\.?[0-9]0,2

以上是关于正则表达式 可以输入负数、正数、小数(小数保留一位)。的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

js保留小数位

求只能输入 正数和两位小数 的正则表达式,要能用的。。。

求一个正则表达式只能输入数字小数点后两位和

输入框只能输入正数且保留小数后2位数字,正则

js正则表达式 判断输入框是不是为正整数或者正整数保留两位小数