2017-12-04 25 views
1

私は次のことを可能にする正規表現を探していました。0より大きい数の正規表現.10の整数または2の精度

有効

0.25 
0.50 
1 
1.50 
5 
8 
10 
10.00 

無効

negative numbers 
0 
0.00 
2.555 
greater than 10 
10.01 

私は正規表現となって苦労しています。ここでは私が一緒に作業していることです:

^-{0}(([0-8].[0-9]+)|[1-10])$ 

...しかし、それだけで臭いです。

私が使用しているJquery検証プラグインはこちらです。

あなたは、次の正規表現のために行くことができ
//regex for 8 hours but not working 100% 
jQuery.validator.addMethod("requiredhoursrange", function (value, element) { 
    if (/^-{0}(([0-7].[0-9]+)|[1-8])$/.test(value) && $("#Entry_ReasonTypeID").val() == 2) { 

     return true; 
    } 
    return false; 
}); 

$.validator.unobtrusive.adapters.add("requiredhoursrange", function (options) { 

    options.rules["requiredhoursrange"] = true; // mvc html helpers 
    options.messages["requiredhoursrange"] = options.message; 
}); 
+0

これは正規表現で実装する必要がある要件ですか? –

+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええと私はjavascriptバリデーションプラグインを使用しています。 – causita

+0

どのJavaScript検証プラグインですか?そして、あなたはすでにどのようなコードを持っていますか?それを投稿することで、regexを使わずに簡単なアプローチが見つかるかもしれません。 –

答えて

0

^(10|10\.00|0\.0[1-9]|0.[1-9][0-9]|[1-9](\.[0-9][0-9])?)$ 

結局.[00, 99]続い10または10.00または[0.01, 0.09]または[0.10, 0.99]または1,2,3,4,5,6,7,8,9を受け入れます。

私はあなたのパターンをテストし、それは動作します。

有効

0.25 
0.50 
1 
1.50 
5 
8 
10 
10.00 

無効

negative numbers 
0 
0.00 
2.555 
greater than 10 
10.01 
関連する問題