JS正则表达式,限制输入数字,且小数点保留两位 10

<inputtype="text"id="test"onkeyup="this.value=this.value.replace(/[^\d\.]/g,'')"onblu... <input type="text" id="test" onkeyup="this.value=this.value.replace(/[^\d\.]/g,'')" onblur="this.value=this.value.replace(/[^\d\.]/g,'')" /> 这里怎么限制小数点后两位 展开
 我来答
百度网友992e050a8
推荐于2017-04-18 · TA获得超过583个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:318万
展开全部
^\d+(\.\d{2})?$

\d: 匹配数字
+ : 数字出现1次以上
(\.\d{2})?:括号内是一个组,后面的?表示括号的内容出现0-1次
如果强制要求必须保留2位小数 就 将?改为+ 即 (\.\d{2})+
\. : 匹配小数点
\d :匹配数字
{2}:小数点后取两位
$:匹配任何结尾为之前所写的字符串 即 小数点和两位小数
坤风云
2017-10-10
知道答主
回答量:6
采纳率:0%
帮助的人:5376
展开全部
//只能输入数字,最多两位小数。 首位不能输入0;
$("#inp2").keydown(function(e) {
let keyCode = e.keyCode;
if((keyCode >= 48 && keyCode <= 57 || keyCode === 190 || keyCode === 8) && !(!$("#inp2").val() && e.keyCode === 48)) {
let num = ($("#inp2").val() + "" + e.key);
if(/^[0-9]+(.[0-9]{0,2})?$/.test(num)) {
} else {
if(e.keyCode === 8) {
return;
}
e.preventDefault();
}
} else {
e.preventDefault();
}
});
//只能输入数字,最多两位小数。 首位可以输入0;
$("#inp1").keydown(function(e) {
// 0 keyCode 48 9 keyCode 57 . keyCode 190 删除 keyCode 8
let keyCode = e.keyCode;
if(keyCode >= 48 && keyCode <= 57 || keyCode === 190 || keyCode === 8) {
let num = ($("#inp1").val() + "" + e.key);
if(/^[0-9]+(.[0-9]{0,2})?$/.test(num)) {
} else {
if(e.keyCode === 8) {
return;
}
e.preventDefault();
}
} else {
e.preventDefault();
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-10-17
展开全部
SB,.replace(,)不能用你上面的,你这只能用于test()。
.replace(/([0-9]+\.[0-9]{2})[0-9]*/, "$1");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式