js正则限制input框输入只能输入大于0的整数或者保留两位数的小数

JavaScript014

js正则限制input框输入只能输入大于0的整数或者保留两位数的小数,第1张

<html>

<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

}