在我的代码中,我只将数值限制在输入字段中,因为我正在使用此代码。
if($('.calculator #loan_Amount').val() != "") {
var value = $('.calculator #loan_Amount').val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
var intRegex = /^\d+$/;
if(!intRegex.test(value)) {
alert('Loan amount must be numeric.');
return false;
}
}
但是现在如果我输入值6500.25,它表示该值必须是数字,它不会将十进制数字作为数字。任何有关于它的想法的机构
答案 0 :(得分:4)
\d+
表示一个或多个整数不是浮点数,因此失败。
试试这个\d+(\.\d*)*
意味着
由于您已经使用了jquery,因此最好使用$.isNumeric()
if($('.calculator #loan_Amount').val() != "") {
if(!$.isNmeric(this.value) {
alert('Loan amount must be numeric.');
return false;
}
}
答案 1 :(得分:0)
使用jQuery Masked Input plugin,可以忽略除数字之外的其他键。它还允许您进行自定义数字分组(即千位分隔符),而无需用户点击逗号键。请查看this page上的演示标签。
答案 2 :(得分:0)
$('.calculator #loan_Amount').keyup(function(){
var iptext = $(this).val();
if(!(iptext.match('^(0|[1-9][0-9]*)$')))
{
$(this).val('');
}
});
这只接受数值。
答案 3 :(得分:0)
这是一个阻止所有非数字输入进入文本字段的解决方案。
HTML
<input type="text" id="numbersOnly" />
的javascript
var input = document.getElementById('numbersOnly');
input.onkeydown = function(e) {
var k = e.which;
/* numeric inputs can come from the keypad or the numeric row at the top */
if ( (k < 48 || k > 57) && (k < 96 || k > 105)) {
e.preventDefault();
return false;
}
};
答案 4 :(得分:0)
您可以使用JavaScript isNaN(value)方法,如果值(非数字)则返回true,否则返回false
if($('.calculator #loan_Amount').val() != "") {
var value = $('.calculator #loan_Amount').val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
if(isNaN(value))
{
alert('Loan amount must be numeric.');
return false;
}
}
希望这有助于你。