非零开头的最多带两位小数的数字:^(1-9*)+(.[0-9]{1,2})?$
var str="asdfg0123.3450zxc3.033zxcvb Aa %^&&&123.45
reg=/^(1-9*)+(.[0-9]{1,2})?$/g
x=str.match(reg);
document.write(x+'('+x.length+')');
结果会出错:无法获取未定义或 null 引用的属性“length”
还有,怎么搜索这个字符串中的只有两位小数的独立数字比如123.45(不算123.34或3.03在内)
^(1-9*)+(.[0-9]{1,2})?$有错误,应该为[1-9]+\.([0-9]{1,2})
但是我就想用^表示1-9开头,写成下面这样为什么也不对????
^[1-9]+\.([0-9]{1,2})
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
正则写错了
不知道是否符合你的要求
/[1-9]\d*(\.\d{1,2})?$/g[1-9],不是(1-9)。前面的表示一个字符,后面的表示1,-,93个字符开头的不能有0,后面的没有限制。所以开头的数字要和后面的数字区分开来
.要转义成\.,因为这是特殊字符[0-9]可以简写为\d