我正在制作一些只允许浮点数的输入掩码.但目前的问题是我无法检查是否输入了多个点.你能检查一下这些点并为我预防吗?
现场代码:http://jsfiddle.net/thisizmonster/VRa6n/
$('.number').keypress(function(event) {
if (event.which != 46 && (event.which < 47 || event.which > 59))
{
event.preventDefault();
if ((event.which == 46) && ($(this).indexOf('.') != -1)) {
event.preventDefault();
}
}
});
Run Code Online (Sandbox Code Playgroud) 当我点击输入时<input type="number" id="n" />;keypress在输入功能上键入某个键。然后输入,.尽管它显示在输入上,但我无法.在 中看到$('#n').val()。
例如输入:123.然后$('#n').val()只返回123。
<input type="number" />我可以得到它的任何属性raw valueis 而123.不是 吗123?
$("#n").on("keypress", function(event) {
console.log($("#n").val());
});Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<input type="number" pattern="[0-9]{1,2}([\.][0-9]{1,2})?" id="n" step="0.01" />Run Code Online (Sandbox Code Playgroud)
更新:
input必须输入数字,以允许其仅在移动网络上的软键盘上显示数字输入。它应该检查模式 99.99 并按如下方式工作:
我正在构建一个付款表单并使用jQuery验证来执行我的验证.如果它有2位小数,我怎么才能验证"付款金额"字段?如果用户在金额上取消.00,我希望它失败.
这是我的Javascript:
$(document).ready(function () {
$('#payment-form').validate({ // initialize the plugin
rules: {
order_id: {
required: true
},
price: {
required: true,
number: true
}
},
messages: {
order_id: "Please enter your Invoice Number",
price: "Please enter Payment Amount"
},
submitHandler: function (form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
//form.submit();
}
});
$('#price').keypress(function(event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault(); …Run Code Online (Sandbox Code Playgroud)