Как создать регулярное выражение для крикета за кадром - PullRequest
0 голосов
/ 25 января 2011

Пожалуйста, скажите мне, какое регулярное выражение я должен использовать для проверки оверов в текстовом поле.как это может быть 5.1, 5.2,5.3,5.4,5.5, но он не должен содержать значение дроби больше, чем .5, также значения должны быть только числовыми (float и int)

Спасибо

Ответы [ 2 ]

2 голосов
/ 25 января 2011

Попробуйте это:

<script type="text/javascript">
var testString = '5.4';
var regExp = /^\d+(\.[1-5])?$/;
if(regExp.test(testString))
{
 // Do Something
}
</script>
1 голос
/ 25 января 2011

Вы должны использовать это:

^[0-9]+(\.(50*|[0-4][0-9]*))?$

Если вы также хотите дроби, такие как .2 вместо 0.2, используйте это:

^[0-9]*(\.(50*|[0-4][0-9]*))?$

Разъяснения:

^                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])?, к сожалению, не работает, потому что, например, /[0-9]+(\.[0-5])?/.test("0.8") возвращает true.

...