0

大家好,

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

在表单中有一个字段,用户可以根据需要添加更多字段。然后表单被发送到一个 js 函数,我在其中收集添加的字段,如下所示:

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

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

如何验证字段“myfieldThatNeedNumbers”中的值是数字?

万分感谢!

4

4 回答 4

1

或者你可以试试

!isNaN(Number(value))

编辑:你的意思是 -

$(".myfieldThatNeedNumbers").each(function(){
    var val = $(this).val();
    if(!isNaN(Number(val)){ /* invalid number detected */ }

    myAray.push($(this).val());
})
于 2012-06-21T06:51:12.510 回答
1
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 将负责为您创建字符串。

于 2012-06-21T06:58:04.747 回答
0
   $(".myfieldThatNeedNumbers").each(function(){
        var value = $(this).val();
        if($.isNumeric(value)) {
           myAray.push(value);   
        } else {
           alert('Not number')
        }
    });

阅读更多关于$.isNumeric()

于 2012-06-21T06:48:39.607 回答
0
/^\d+$/.text(string)

一段时间的数字。

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

为浮点数。[+\-]?如果您需要签名,请在前面添加。

你可以用美元

/^[+\-]?\d+(\.\d{2})?/.test(string)
于 2012-06-21T06:53:43.523 回答