我想实现一个正则表达式功能,即用户只能在我在代码中提到的文本框中添加一个小数点。我尝试如下,但它不起作用。
注意正则表达式是正确的,经过尝试和测试
$(function () {
$('input').on('#txtFiberActlength', function () {
match = (/(\d{0,2})[^.]*((?:\.\d{0,4})?)/g).exec(this.value.replace(/[^\d.]/g, ''));
this.value = match[1] + match[2];
});
});
最佳答案
您忘记在代码中添加event-handler
,请执行以下操作:-
$(function () {
$(document).on('keyup','#txtFiberActlength', function () {
match = (/(\d{0,2})[^.]*((?:\.\d{0,4})?)/g).exec(this.value.replace(/[^\d.]/g, ''));
this.value = match[1] + match[2];
});
});
示例:-
$(function () {
$(document).on('keyup','#txtFiberActlength, #txt2FiberActlength', function () {
match = (/(\d{0,2})[^.]*((?:\.\d{0,4})?)/g).exec(this.value.replace(/[^\d.]/g, ''));
this.value = match[1] + match[2];
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="txtFiberActlength">
<input type="text" id="txt2FiberActlength">
关于javascript - 输入文本框上的正则表达式在 javascript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48224947/