0

こんにちは、みんな、

フォームを検証しています。数値が必要なフィールドにユーザーが文字列を入力したかどうかを確認しています。

フォームには、必要に応じてユーザーがフィールドを追加できるフィールドがあります。次に、フォームが js 関数に送信され、そこで次のように追加されたフィールドが収集されます。

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

.ajax() のおかげで、後でパラメーターが私のphpファイルに送信されます

フィールド「myfieldThatNeedNumbers」の値が数値であることを確認するにはどうすればよいですか?

ありがとうございます!

4

4 に答える 4

1
var params = $( '.myFieldsThatAreNumber' ).filter( function() {
    return $.isNumeric( this.value );
} );

今日のエレガントな答え™。

$.isNumericjQuery 1.7(おそらくこの回答に基づくshimのソース)が必要です。

また、パラメータ$.ajaxのオブジェクトdataが必要なので、次のものが必要です。

var data = {
    'myFieldsThatAreNumbers': params
};

$.ajax( {
    data: data,
} );

あるいは単に:

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

そして、jQueryが文字列の作成を処理します。

于 2012-06-21T06:58:04.747 に答える
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 に答える
0
/^\d+$/.text(string)

しばらくの間の数字。

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

浮動小数点用。[+\-]?サインが必要な場合は先頭に追加してください。

あなたが使用できるドルのために

/^[+\-]?\d+(\.\d{2})?/.test(string)
于 2012-06-21T06:53:43.523 に答える
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 に答える