【发布时间】:2021-09-16 14:57:13
【问题描述】:
我刚刚构建了一个带有正则表达式控件的 javascript 函数,该控件允许 3 个数字和一个点。
function restrictNumber(e) {
var newValue = this.value.replace(new RegExp(/^(?!^(?:\d{1,3}|\d(?:\d?\.\d?|\.\d{2}))$).*/, 'gm'), "");
this.value = newValue;
}
$('.decimal').on('input', restrictNumber);
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<input class="decimal" type="text">
正则表达式的规格是:
- 最大。 3 个数字
- 只有一个点或没有点
- 点可以在任何地方
这是一个正则表达式演示:https://regex101.com/r/3Ru1O3/3/
当放入不合适的字符时,我试图“阻止”输入。但是当我尝试测试它时,它会删除我的孔串。
我怎样才能改变我无法设置新数字的行为,让字符串不会消失。
【问题讨论】:
标签: javascript regex validation