正则表达式如下:
/(^[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>