我有一个正则表达式,只允许用户输入数字,而不能点逗号(,)。我应该改进以禁用用户输入的第一个字符点。 1.2还可以,但是.2无效
$.fn.inputFilter = function(inputFilter) {
return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {
if (inputFilter(this.value)) {
this.oldValue = this.value;
this.oldSelectionStart = this.selectionStart;
this.oldSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("oldValue")) {
this.value = this.oldValue;
this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
}
});
};
widthInput.inputFilter(function (value) {
return /^-?\d*[.]?\d*$/.test(value) // my regExp
});
如何改进此部分/^-?\d*[.]?\d*$/.test(value);满足我的需求?
答案 0 :(得分:2)
使用否定前瞻:
/^(?!\.)-?\d*[.]?\d*$/