js正则限制input框输入只能输入大于0的整数或者保留两位数的小数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js正则限制input框输入只能输入大于0的整数或者保留两位数的小数相关的知识,希望对你有一定的参考价值。
<input onkeyup="value=value.replace(/[^\d.]/g,'') "在此基础上更改!
<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
参考技术A<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
追答:<input onblur="value=value.replace(/^((\\d*[1-9])|(0?\\.\\d2))$/g,'') ">
blur是焦点离开事件
应该加到blur上才好。匹配整数和两位小数的应该是^((\d*[1-9])|(0?\.\d2))$
0.11和 .11是等价的追问
这个完整写出来是什么样的呢?加上事件写出来下吗 ?谢谢!
追答
blur是焦点离开事件
以上是关于js正则限制input框输入只能输入大于0的整数或者保留两位数的小数的主要内容,如果未能解决你的问题,请参考以下文章
html或者php中 input框限制只能输入正整数,逻辑与和或运算