首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

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

发布网友

我来回答

3个回答

热心网友

<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

热心网友

<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

热心网友

你这个事件就有问题啊,直接关联到每次输入的时候,你怎么可能出现你要的情况呢?两位小数之前总得有一位小数的时候啊。没有人会先输入一个整数,然后才加小数点。而你这种判断时机只能这样。
应该加到blur上才好。匹配整数和两位小数的应该是^((\d*[1-9])|(0?\.\d{2}))$
0.11和 .11是等价的追问这个完整写出来是什么样的呢?加上事件写出来下吗 ?谢谢!

追答

blur是焦点离开事件

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com