我有一个用户需要输入其窗口宽度的字段。它必须介于16.75和48之间,并且只能以.25递增(因此必须以.00,.25,.50,.75结尾)。我已经尝试了以下方法来测试我在31.25上的正则表达式,但是全部返回false。我已经浏览了互联网,但是对于像我这样的正则表达式新手却找不到太多帮助。有人可以帮我使用正则表达式吗?

这是字段:

<input type="text" id="windowWidth" onchange="basePrice()">


这是JS:

function basePrice()
{
    var windowWidth = document.getElementById("windowWidth").value;
    var windowHeight = document.getElementById("windowHeight").value;

    if (windowWidth != "" && windowWidth > 16.75 && windowWidth < 48)
    {
         alert(/^\d{2}\.[00]$/.test(windowWidth));
         alert(/^\d{2}\.[25]$/.test(windowWidth));
         alert(/^\d{2}\.[50]$/.test(windowWidth));
         alert(/^\d{2}\.[75]$/.test(windowWidth));
    }
    else
    {
         alert("error");
         exit;
    }
}

最佳答案

您可能可以组合使用它们来测试它们是否落在您的范围内,然后使用以下正则表达式:

/^\d{2}\.(00|25|50|75)$/

关于javascript - 如何使用正则表达式测试特定的小数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19552081/

10-09 20:10