gpt4 book ai didi

javascript - 正则表达式匹配 2-10,但不匹配 99

转载 作者:数据小太阳 更新时间:2023-10-29 04:21:50 26 4
gpt4 key购买 nike

我在表单上有一个字段采用以下值:-1、2-10、99

我有一个与答案 2-10 有关的业务规则。

我正在尝试编写一个匹配 2-10 但 99 的正则表达式,但我遇到了麻烦。

原表达:

^2|3|4|5|6|7|8|9|10$

失败,因为匹配了 99(从技术上讲,匹配了两次)。此外,线边界是我从未感到舒服的东西。我观察到他们在 expresso 中的行为与我在其他地方(例如 .net)中的行为不同。在此特定实例中,正则表达式在 javascript 中运行。无论如何,expresso 似乎忽略了它们(如果我将值放在括号中:

^[2|3|4|5|6|7|8|9|10]$

^[2-9]$

无论是“全部拼写”还是作为范围,如果我指定开始行/字符串结束行/字符串字符,expresso 永远不会返回任何匹配项(是的,我试图在第二种情况下分别匹配 10 个字符) .

我知道,我知道。如果您使用正则表达式来解决问题,那么您会遇到两个问题(并且大概他们会开始邀请 friend 过来,事情 1 和事情 2 样式)。我必须在这里使用;我可能会切换到案例陈述。但似乎我应该能够在这里使用正则表达式,这似乎是一件合理的事情。说到正则表达式,我还是很新手;

最佳答案

这显然是您不应该使用 RegExp 而应该使用数值计算的情况:

var num = parseInt(aNumber, 10);
if (num >= 2 && num <= 10) {
alert("Match found!");
}

关于javascript - 正则表达式匹配 2-10,但不匹配 99,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/528807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com