RegEx接受小于-50.0或大于80.0的数字

RegEx to accept numbers less then -50.0 or greater than 80.0

本文关键字:大于 数字 RegEx 小于      更新时间:2023-09-26

我正试图找到一个JavaScript正则表达式来接受小于-50.0或大于80.0的数字。

下面的表达式不起作用:

 /^([-][5][0]'.[0]|[-][0-4][0-9]'.[0-9]|[-][0-9]'.[0-9])|([0]'.[0]|[1-9]'.[0-9]|[0-7][0-9]'.[0-9]|[8][0]'.[0])$/

RegEx用于模式匹配,而不是类似的功能。只需将输入解析为数字并比较其值。

function checkValue(input){
    var number = parseInt(input);
    if (number === NaN) throw new Error('input was not a number') /* error checking */
    if (number < -50 || number > 80) return true;
   return false;
}

编辑:如果可以的话,您应该尝试在上游进行某种形式的验证。RegEx不适合这样做。请随意发布更多的上下文代码,我们可以在这里看到如何最好地验证。

您可以使用以下正则表达式:

/(?:^|[^.])(-([56]'d|'d{3,})(?:'.'d{1,2})?'b|'b([89]'d|'d{3,})(?:'.'d{1,2})?'b)/gm

RegEx演示