原来你的小数可以以0结尾啊...
/^0$|^[1-9]+\d*(\.\d*[1-9])?$|^0\.\d+$/
看来你心挺细的,考虑的很周全
还有简单的方法是test,不用match
if(/^0$|^[1-9]+\d*(\.\d*[1-9])?$|^0\.\d+$/ .test(val)){
alert("OK");
}else{
alert("NO");
}
试试吧 我也不确定
一:/^0|[1-9]\d*$
二:/^0|[1-9]\d*(\.\d+)?$
=====测试了下
0或非0开头的数字
/(^0$)|(^[1-9]\d*$)/
数字+点或点开头的数字序列或0
/(^(\d+\.|\.)\d+$)|(^0$)/
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。
如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组