2012-04-10 4 views
1

数値に特定のパラメータがあることを検証したいと思います。たとえば、数値に3桁の小数点があることを確認したいとします。私はそれを行う方法を見つけることができませんでしたが、インターネット上のさまざまな場所で検索しました。私はそのテキストボックスに数字だけを受け入れるようにしました。私は残りの機能が必要です。許可カンマで10進数を検証する

$.validator.addMethod('Decimal', function(value, element) { 
    return this.optional(element) || /^\d+(\.\d{0,3})?$/.test(value); 
}, "Please enter a correct number, format xxxx.xxx"); 

か:例hereに基づいて

$.validator.addMethod('Decimal', 
        function(value, element) { 
         //validate the number 
        }, "Please enter a correct number, format xxxx.xxx"); 
+1

小数点以下の桁はオプションですか、必須ですか。言い換えれば、 "123.4"または "234"は有効なエントリですか? – Blazemonger

+0

彼らはオプションです –

答えて

15

おかげで、

$("#formEntDetalle").validate({ 
        rules: { 

         tbCantidad: { required: true, number: true }, 
         tbPrecioUnidad: { required: true, number: true }, 

        } 
        messages: { 

         tbCantidad: { required: "Es Necesario Entrar una cantidad a la orden" }, 
         tbPrecioUnidad: { required: "Es Necesario Entrar el valor valido para el producto" } 

        }, 
        errorPlacement: function(error, element) { 
         parent = element.parent().parent(); 
         errorPlace = parent.find(".errorCont"); 
         errorPlace.append(error); 
        } 
       }); 

私のようなもので、そのテキストボックスを制御したい

数が小数を持つことができないことを防止するために
$.validator.addMethod('Decimal', function(value, element) { 
    return this.optional(element) || /^[0-9,]+(\.\d{0,3})?$/.test(value); 
}, "Please enter a correct number, format xxxx.xxx"); 
+0

私は昏睡状態を制御できますか?例えば、99,999.999または999,999,999.999のような数字? –

+0

簡単に追加できます。あなたは正規表現に精通していませんか? – Blazemonger

+0

注:この正規表現では、空の文字列や文字列に先行ドットや後続ドットを使用することもできます。 '' .123 ''や '' 123.''。 – Geert

3

、あなたは以下を使用することができます。

// This will allow numbers with numbers and commas but not any decimal part 
// Note, there are not any assurances that the commas are going to 
// be placed in valid locations; 23,45,333 would be accepted 

/^[0-9,]+$/ 

常に小数を持つ要求するには、削除しますか?それはオプションになり、また、数字の文字(\ d)は1〜3桁の長さであることが必要です。

/^[0-9,]+\.\d{1,3}$/ 

これは、1つまたは複数の数字またはコンマに続く文字列(^)の始まりと一致するように解釈されます文字。 (+文字は1つ以上を意味します)

次に一致します。 '。'のためにバックスラッシュ(\)でエスケープする必要があった文字(ドット)。通常は何かを意味します。

次に、数字が1〜3個しか一致しません。 文字列の最後が表示されます。 ($)

正規表現は非常に強力であり、学ぶのに大変です。一般的に、彼らはあなたが将来どの言語に遭遇しても、あなたに利益をもたらすでしょう。オンラインでたくさんのチュートリアルや書籍を入手することができます。ハッピーラーニング!

関連する問題