HTML 正则表达式验证在十进制输入上仅限制一个句点

html regex validation limit only one period on decimal input

本文关键字:句点 一个 验证 正则表达式 十进制 输入 HTML      更新时间:2023-09-26

我做了一个只接受十进制的HTML输入。

<input type="text" class="form-control" id="price" name="price" placeholder="Price" 
onkeyup="this.value=this.value.replace(/[^0-9'.]/g,'')">

这是有效的。但是我需要修改正则表达式以仅接受一个句点

正确:9.999

错误:9.9.99.99

有办法吗? 请不要使用 jquery validate 和 html type="number"(当您将输入设置为类型数字时,用户不需要向上和向下箭头) 谢谢

分享此答案以限制十进制输入的一个句点

取代

this.value=this.value.replace(/[^0-9'.]/g,'')

this.value=this.value.replace(/[^0-9.]/g, '').replace(/('..*)'./g, '$1')