Javascript 正则表达式允许数字大于0.5

Javascript 正则表达式允许数字大于0.5,javascript,regex,Javascript,Regex,嗨,我现在正在处理一些正则表达式,我想添加一个条件,只允许大于0.5的数字。这是我的正则表达式 ^(?![.0]*$)[0-9]+(?:\.[1-9]{1,2})?$ 我只想知道0和0.5之间的值与此不匹配。 谢谢正则表达式非常棒,但是它们很难阅读和维护。这感觉就像是一个场景,您应该只解析字符串并比较值 var num = parseFloat(input); if (num > 0.5) ... 此regexp可用于: 而且它也很容易阅读 这个正则表达式允许两个小数和大于0.

嗨,我现在正在处理一些正则表达式,我想添加一个条件,只允许大于0.5的数字。这是我的正则表达式

^(?![.0]*$)[0-9]+(?:\.[1-9]{1,2})?$
我只想知道0和0.5之间的值与此不匹配。
谢谢

正则表达式非常棒,但是它们很难阅读和维护。这感觉就像是一个场景,您应该只解析字符串并比较值

var num = parseFloat(input);
if (num > 0.5)
    ...
此regexp可用于:


而且它也很容易阅读

这个正则表达式允许两个小数和大于0.50的数字

^((?!0*(\.0+)?$)[0-9]+|[0-9]+[0-9]\.[0-9]{1,2}+|[1-9]\.[0-9]+|0\.[5-9][0-9]?)$

你真的应该使用@dontangg的答案

但是如果你想要一个正则表达式,这里有一个可以做到这一点:

^(?:0\.5[1-9]\d*|0\.[6-9]\d*|\d+[1-9](?:\.\d+)?)$
说明:

它匹配:

0.51
12
12.34
它不匹配:

0
0.2
0.25
0.5
0.50

你为什么不直接转换成数字,这样比较呢???你为什么不把字符串转换成一个数字,做一个数字比较?因为我需要一个正则表达式,这就是你可以学习的方法,我知道我可以做一个数字比较,我要求一个ReGeXeLe玩魔鬼倡导者,考虑。50000000001谢谢,但是我需要正则表达式;这就是我问Hanks的原因,但我认为它缺少的东西不允许在第一个后面加零digit@user2720108奇怪,我会查清楚你想确认的数字范围是多少?任何十进制数,介于0和10之间的数字,还有别的吗?所有大于或等于0.5的数字,只有两个小数点,没有前导零,没有负数,还有0.50得到它^[0-9]+[0-9]+[0-9].[0-9]+[1,2}+[1-9]\.[0-9]+[0\.[5-9][0-9]?$谢谢这真的很有帮助,^[0-9]+[0-9]+[0-9]+[0-9].[0-9]+[0-9]+[0-9].[1]?$它匹配0和0.5但不匹配0.51它仍然匹配0和0.5以及000.000
^                   : begining of string
    (?:             : begining of non-capture group
        0\.5[1-9]\d*:  0. followed by number greater than 50
        |           :
        0\.[6-9]\d* : 0. followed by number greater than 5 then any number of digits
        |           : OR
        \d+[1-9]    : any digit followed by number from 1 to 9
        (?:         : begining of non-capture group
            \.\d+   : a dot followed by any digits
        )?          : end of non capture group, optional
    )               : end of non-capture group
$                   : end of string
0.51
12
12.34
0
0.2
0.25
0.5
0.50