javascript/jQuery:使用 .each 时验证数字

javascript/jQuery: validating numbers when using .each

本文关键字:验证 数字 each 使用 jQuery javascript      更新时间:2023-09-26

大家好,

我正在验证我的表单,只是检查用户是否在数字应该是的字段中输入了字符串。

在表单中有一个字段,用户可以根据需要在其中添加更多字段。然后将表单发送到 js 函数,在那里我收集像这样添加的字段:

 params ='';   
var myAray = []; 
    $(".myfieldThatNeedNumbers").each(function(){
        myAray.push($(this).val());
    })
    params += '&myfieldThatNeedNumbers='+myAray;

稍后的参数将被发送到我的php文件,这要归功于.ajax()

如何验证字段"myfieldThatNeedNumbers"中的值是否为数字?

谢谢吨!

或者你可以试试

!isNaN(Number(value))

编辑:你的意思是——

$(".myfieldThatNeedNumbers").each(function(){
    var val = $(this).val();
    if(!isNaN(Number(val)){ /* invalid number detected */ }
    myAray.push($(this).val());
})
var params = $( '.myFieldsThatAreNumber' ).filter( function() {
    return $.isNumeric( this.value );
} );

当天™优雅的答案。

$.isNumeric需要 jQuery 1.7(填充码的来源,可能基于这个答案)。

此外,$.ajax需要一个用于 data 参数的对象,因此您需要以下内容:

var data = {
    'myFieldsThatAreNumbers': params
};
$.ajax( {
    data: data,
} );

或者只是:

$.ajax( {
    data: {
        'myFieldsThatAreNumbers': params
    },
} );

jQuery将负责为您创建字符串。

   $(".myfieldThatNeedNumbers").each(function(){
        var value = $(this).val();
        if($.isNumeric(value)) {
           myAray.push(value);   
        } else {
           alert('Not number')
        }
    });

阅读更多 关于 $.isNumeric()

/^'d+$/.text(string)

对于数字。

/^'d+'.?'d*$/.test(string)

对于浮点数。如果需要符号,请在前面添加[+'-]?

对于您可以使用的美元

/^[+'-]?'d+('.'d{2})?/.test(string)