javascript - 尝试编写一个小数点后 4 位的正则表达式
问题描述
我正在尝试在文本框 onkeypress 上进行验证。文本框应仅包含 5 位数的值,小数点后最多只能包含 4 位小数。例如,12345 ,12345.2345 .aspx
<input type="number" id='inpSurfIndN' value='' runat="server" onkeypress="return isFloatNumber(this,event);" />
脚本
<Script>
function isFloatNumber(e, t) {
var regex = /^[0-9]\d{0,4}(\.\d{1,4})?%?$/
var regmatch = e.match(regex);
if (regmatch == null) {
alert("please fill right value");
return false;
}
}
</Script>
我试过但没有得到正确的输出。任何想法如何纠正它都将不胜感激。
解决方案
尝试关注
$('#inpSurfIndN').keypress(function() {
this.value = this.value
.replace(/[^\d.]/g, '')
.replace(/(^[\d]{4})[\d]/g, '$1')
.replace(/(\..*)\./g, '$1')
.replace(/(\.[\d]{3})./g, '$1');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id='inpSurfIndN' value='' runat="server" />
推荐阅读
- html - 在移动设备中应用 css 属性 hover、ontouch
- javascript - HTML 数据集为空
- c# - 如何在 C# .dll 中包含 .config 文件,该文件将在 vba 项目中用于 ms 访问?
- c# - 使用 XML Reader 在 C#.net 中查找和替换节点内部文本
- windows - 上报Mac地址的更改顺序
- angular - 附加到组件时如何调整 Angular CDK 覆盖背景的大小
- python - 用于数据管道的 Python Pandas 合并、融化、pivot_table
- linux - 从源代码构建某些 GNU 软件时,缺少手册页安装。我怎样才能得到它们?
- php - 基于子数组元素的 PHP usort 数组无法正常工作 - 有问题吗?
- php - 无法在循环内的 PHP 中显示标题