0

请告诉我应该使用什么正则表达式来验证文本框中的板球比赛。就像它可以是 5.1, 5.2,5.3,5.4,5.5 但它不应该包含大于 .5 的小数值,这些值也应该是数字(float 和 int)

谢谢

4

2 回答 2

2

尝试这个:

<script type="text/javascript">
var testString = '5.4';
var regExp = /^\d+(\.[1-5])?$/;
if(regExp.test(testString))
{
 // Do Something
}
</script>
于 2011-01-25T06:18:31.277 回答
1

你应该使用这个:

^[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。

于 2011-01-25T06:19:15.957 回答