javascript - 如何使用正则表达式来测试特定的小数?

标签 javascript regex

我有一个字段,用户需要在其中输入窗口的宽度。它需要介于 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;
    }
}

最佳答案

删除正则表达式中用于字符类的[]:

alert(/^\d{2}\.(?:00|25|50|75)$/.test(windowWidth));

例如:[00] 表示匹配文字 0 或 0

OR [25] 表示匹配 2 或 5

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

相关文章:

javascript - 除了脚本标签之外,JavaScript 代码可能位于 HTML 页面上的位置

javascript - javascript 正则表达式中 Unicode 字符类的替换

regex - Perl regex\d+ 和 [0-9] 运算符仅显示字母数字字符串中的单个数字

python - BNF 文法符号拆分的正则表达式

javascript - 使用 javascript 我需要替换文档中的匹配字符串

python - 使用正则表达式和 python 在地址 block 中移动城市,添加 & 符号

javascript - 需要了解 Javascript 对象引用

javascript - 按连接表顺序排列

javascript - 在 javascript 中复制 python 的 __call__?

javascript - BigInt and (anynumber postfix n i.e. 200n) - 这两种方法应该在 Javascript 中给出相同的答案,对吗?但是,我得到了不同的答案