判断只能输入 大于0的整数或小数 正则表达式 怎么写

如题所述

正则表达式如下:

([1-9]\d*(\.\d*[1-9])?)|(0\.\d*[1-9])

[1-9]\d*表示所有大于等于1的整数(整数第一位不为0,后面的随意)

\.\d*[1-9]为小数部分(小数点最后一位不为0,中间的随意)

([1-9]\d*(\.\d*[1-9])?)就是所有大于0的数,并且可以有小数部分

(0\.\d*[1-9])为0.xxxx形式的小数。

扩展资料:

正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。

在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。

要想真正的用好正则表达式,正确的理解元字符是最重要的事情。

参考资料:百度百科——正则表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-30
([1-9]\d*(\.\d*[1-9])?)|(0\.\d*[1-9])
[1-9]\d*表示所有大于等于1的整数(整数第一位不为0,后面的随意)
\.\d*[1-9]为小数部分(小数点最后一位不为0,中间的随意)
([1-9]\d*(\.\d*[1-9])?)就是所有大于0的数,并且可以有小数部分
(0\.\d*[1-9])为0.xxxx形式的小数。本回答被提问者和网友采纳
第2个回答  2017-04-17
一楼可以的
这个可以的,谢谢,试了一下,但是要这样用
/^([1-9]\d*(\.\d*[1-9])?)|(0\.\d*[1-9])$/
eg.
function checkNumber3(){
var a = document.getElementById("input_text01").value;
var parnt = /^([1-9]\d*(\.\d*[1-9])?)|(0\.\d*[1-9])$/;
if(parnt.exec(a)){
alert(a);
} else {
alert("金额不能小于0");
}
}
第3个回答  2018-08-30
/^([1-9]\d*(.\d{1,2})?)$|^(0.\d?[1-9])$|^(0.[1-9]\d?)$/ 大于0 最多两位小数
第4个回答  2015-11-29
([1-9]\d*(\.\d*[1-9])?)|(0\.\d*[1-9])
相似回答