我正在使用在https://github.com/RobinHerbots/jquery.inputmask找到的jQuery插件,但我似乎无法派生出一个与整数&对应的模式。小数。例如,
我需要以下内容才有效:
10
150
12.25
0.45
我正在做的那一刻:
$('#from_id').inputmask("9{0,5}.9{0,2}");
但这意味着如果用户没有指定小数点后面的内容,则结果输出为:
例如,如果用户只想输入12(并且他没有指定小数点),则输出为
12___.__
(因为掩码正在等待小数点)
但是如果用户指定小数点,例如12.00,则输出很好,如:
12.00
有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
尝试使用可选的parmaneter greedy
like,
$('#from_id').inputmask({'mask':"9{0,5}.9{0,2}", greedy: false});
阅读optional-masks-with-greedy-false
您可以验证上面的面具。或者使用您自己的logica来验证,
$(function(){
$('#id').on('keyup', function(e) {
if (!this.value.match(/^\d{0,5}(\.[0-9]{1,2})?$/)) {
$(this).addClass('error');// adding error class
} else {
$(this).removeClass('error');// remove error class
}
});
});
或者只是使用toggleClass之类的,
$(function() {
$('#id').on('keyup', function(e) {
$(this).toggleClass('error', !this.value.match(/^\d{0,5}(\.[0-9]{1,2})?$/));
});
});
.error {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="id" />
答案 1 :(得分:0)
您是否尝试过使用多个面具?
$('#from_id').inputmask({'mask':["9{0,5}.9{0,2}", "999"]});