テキストボックスでクリケットオーバーを検証するためにどの正規表現を使用すべきか教えてください。 それは5.1、5.2,5.3,5.4,5.5ことができますが、それは0.5より大きい分数の値を含むべきではないように、また、値が数値でなければなりませんのみ(floatとint型)クリケットオーバーの正規表現を作成する方法
おかげ
テキストボックスでクリケットオーバーを検証するためにどの正規表現を使用すべきか教えてください。 それは5.1、5.2,5.3,5.4,5.5ことができますが、それは0.5より大きい分数の値を含むべきではないように、また、値が数値でなければなりませんのみ(floatとint型)クリケットオーバーの正規表現を作成する方法
おかげ
あなたは、この使用する必要があります:あなたはまた、代わりに0.2
の.2
のような画分をしたい場合は
^[0-9]+(\.(50*|[0-4][0-9]*))?$
を、これを使用する:0
^[0-9]*(\.(50*|[0-4][0-9]*))?$
を説明:たとえば
/[0-9]+(\.[0-5])?/.test("0.8")
が真生じ、ので
^ beginning of the string
[0-9]* repeat 0 or more digits
(
\. match the fraction point
(
50* match .5, or .5000000 (any number of zeros)
| or
[0-4][0-9]* anything smaller than .5
)
)? anything in this parenthesis is optional, for integer numbers
$ end of the string
あなたのバージョン、[0-9]+(\.[0-5])?
は、残念ながら動作しません。
これを試してみてください。
<script type="text/javascript">
var testString = '5.4';
var regExp = /^\d+(\.[1-5])?$/;
if(regExp.test(testString))
{
// Do Something
}
</script>
テストでは、50以上のオーバー(grins :)があります。 –
投稿を更新しました。 OPがマッチ形式(1日、テスト、20〜20)を指定できる場合は、同じものに改造することができます。 – Chandu
サルマンの本当のヒーロー.. –
<script type="text/javascript">
var pattern = /^\d+(\.[0-5])?$/;
var overs = [
'0',
'0.0',
'1.1',
'1.2',
'1.5',
'1.6',
'2',
'2.0',
'2.10',
'50',
'50.1',
'100'
];
for (var i = 0; i < overs.length; i++) {
var over = overs[i];
console.log(over + (pattern.test(over) ? ' is valid' : ' is in-valid'));
}
</script>
' 2.10は有効です ' –
うわー。それは*です。参照:http://en.wikipedia.org/wiki/Over_%28cricket%29 –
クイック返信ありがとう。そのうまくいっているが問題に直面している。それは私に "66.555"のような価値を入力することを可能にします。私たちが知っているように、オーバーは分数値として1つの値を含むべきです。 –
私はあなたの表現を変更し、 "[0-9] +(\。[0-5])?"うまくいきます。その正しいことを確認してください。ありがとう –
@Rajesh Rolen- DotNet Developerが更新されました。もう少し複雑ですが、 '0.5000000'、' 0.4999'、.5'、 '5'などほとんどすべてで動作します。 –