正则表达式,只有整数或混合数字匹配

时间:2014-09-20 17:41:06

标签: ruby regex validation ruby-on-rails-4

我正在尝试使用正则表达式来验证用我的JqueryUI验证器的用户输入。我希望用户只能输入一个整数或正确输入的分数。

我使用\ d +。\ d + | \ d +。$ | ^ .0 $ | \ d + / [1-9] + | \ d + \ d + / [1-9] +创建了regexr但它没有通过我的测试,因为它接受小数和奇数组合。我是从另一个SO帖子中得到的。

http://regexr.com/39hlm

我基本上希望唯一可接受的输入是:

一个整数" 1"或" 200"

分数" 1/2"或" 3/8"

混合数字" 1 1/2"或" 200 3/8"

我不希望接受:

任何字母或其他字符"数字"或" 5%"

正确条目的奇数组合" 1 1/2 4"或" 1 1/2 1/2"

如何创建通过http://regexr.com/39hlm测试的正确正则表达式? (至少我希望它只接受整数和混合数字,我可以处理其他情况)

1 个答案:

答案 0 :(得分:1)

没有验证"适当的分数"使用这种模式

^(\d+(?:(?: \d+)*\/\d+)?)$  

Demo