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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则相关的知识,希望对你有一定的参考价值。

参考技术A 正则表达式 验证数字格式 非负数 小数点后保留两位 ,正则式如下:
^(?!0+(?:.0+)?$)(?:[1-9]\d*|0)(?:.\d1,2)?$

JS正则表达式,限制输入数字,且小数点保留两位

<input type="text" id="test" onkeyup="this.value=this.value.replace(/[^\d\.]/g,'')" onblur="this.value=this.value.replace(/[^\d\.]/g,'')" /> 这里怎么限制小数点后两位

^\d+(\.\d2)?$

\d: 匹配数字
+ : 数字出现1次以上
(\.\d2)?:括号内是一个组,后面的?表示括号的内容出现0-1次
如果强制要求必须保留2位小数 就 将?改为+ 即 (\.\d2)+
\. : 匹配小数点
\d :匹配数字
2:小数点后取两位
$:匹配任何结尾为之前所写的字符串 即 小数点和两位小数
参考技术A //只能输入数字,最多两位小数。 首位不能输入0;
$("#inp2").keydown(function(e)
let keyCode = e.keyCode;
if((keyCode >= 48 && keyCode <= 57 || keyCode === 190 || keyCode === 8) && !(!$("#inp2").val() && e.keyCode === 48))
let num = ($("#inp2").val() + "" + e.key);
if(/^[0-9]+(.[0-9]0,2)?$/.test(num))
else
if(e.keyCode === 8)
return;

e.preventDefault();

else
e.preventDefault();

);
//只能输入数字,最多两位小数。 首位可以输入0;
$("#inp1").keydown(function(e)
// 0 keyCode 48 9 keyCode 57 . keyCode 190 删除 keyCode 8
let keyCode = e.keyCode;
if(keyCode >= 48 && keyCode <= 57 || keyCode === 190 || keyCode === 8)
let num = ($("#inp1").val() + "" + e.key);
if(/^[0-9]+(.[0-9]0,2)?$/.test(num))
else
if(e.keyCode === 8)
return;

e.preventDefault();

else
e.preventDefault();

);
参考技术B SB,.replace(,)不能用你上面的,你这只能用于test()。
.replace(/([0-9]+\.[0-9]2)[0-9]*/, "$1");

以上是关于正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则的主要内容,如果未能解决你的问题,请参考以下文章

js 用正则表达式验证只允许输入数字,或者是数字后两位小数点,如何写?

关于文本框的正则表达式,只能输入正数,可以有小数点,小数点后面两位。

JS正则表达式,限制输入数字,且小数点保留两位

正则表达式验证文本框只能输入数字和小数点

正则表达式验证文本框只能输入数字和小数点

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