正则表达式如下:
/(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/
价格符合两种格式
- ^[1-9]\d*(.\d{1,2})?$ : 1-9开头,后跟是0-9,可以跟小数点,但小数点后要带上1-2位小数,类似2,2.0,2.1,2.22等
- ^0(.\d{1,2})?$ : 0开头,后可以跟小数点,小数点后要待上1-2位小数,类似0,0.22,0.1等
代码如下(可直接复制粘贴进行测试):
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<input type="text" onblur="test(this);"></input>
<div id="hint"></div>
<script> function test(input) { var value = input.value; console.log(value); var reg = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/; var div = document.getElementById("hint"); if(reg.test(value)) { div.innerHTML="正确"; } else { div.innerHTML="错误"; } } </script>
</body>
</html>