<head>
<meta charset="UTF-8">
</head>
<body>
<input type="text" id="input" />
<script>
var input=document.getElementById("input")
function AddEventInput(i){
//这里就不做兼容了
i.addEventListener("blur",function(){
var value=i.value
var reg=/(^[1-9]{1}[0-9]*$)|(^[0-9]*\.[0-9]{2}$)/
if(!reg.test(value)){
console.log("请输入大于0的整数或者保留两位小数")
}else{
console.log("输入正确")
}
})
}
AddEventInput(input)
</script>
</body>
</html>
这里定义了一个函数AddEventInput有一个参数i其实就是需要传入的input节点
函数AddEventInput为传入的节点添加了失去焦点事件
在失去焦点事件触发的函数中定义了一个正则 正则的意思我就不详细说了
正则是当input的值是大于0的整数或者保留两位数的小数就返回true 不是就返回false
/*** 检查是否大于0的数(小数也可以),合法返回true
* @param str 判断的数值
* @returns {Boolean} 返回true/false
*/
function checkFloatNum(str){
var reg_zs = /^[1-9]\d*(\.\d+)?$/i
if (!reg_zs.test(str)) {
return false
}
return true
}