1

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

ありがとう、

$("#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) {
                       //validate the number
                    }, "Please enter a correct number, format xxxx.xxx");
4

2 に答える 2

15

ここの例に基づいて:

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

またはコンマが許可されている場合:

$.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");
于 2012-04-10T14:10:49.340 に答える
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 つを意味します。

次に、数字を一致させますが、そのうちの 1 ~ 3 つだけを一致させます。次に、文字列の末尾が表示される必要があります。($)

正規表現は非常に強力で、学ぶのに最適です。一般に、将来どの言語に遭遇しても、それらはあなたに利益をもたらします。オンラインには、このテーマに関する優れたチュートリアルや本がたくさんあります。ハッピーラーニング!

于 2012-04-10T18:18:57.980 に答える