regex 正则表达式仅允许在1-45范围内使用单连字符[关闭]

flvlnr44  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(73)

已关闭。此问题需要更多focused。它目前不接受回答。
**希望改进此问题?**更新问题,使其仅针对editing this post的一个问题。

14天前关闭
Improve this question
我试图创建一个正则表达式,只允许在输入范围从下面的格式与单连字符。
匹配

1-45
2-10
12-45

字符串
不匹配

1-
-2
1-45-
1,45
145


但大多数正则表达式允许多个连字符

sdnqo3pr

sdnqo3pr1#

假设你正在使用JavaScript,我更喜欢这里的分割方法:

var input = "12-45";
var pass = false;
if (/^\d+-\d+$/.test(input)) {
    var nums = input.split("-");
    if (nums[0] >= 1 && nums[0] <= 45 && nums[1] >= 1 && nums[1] <= 45) {
        pass = true;
    }
}

if (pass) {
    console.log("VALID");
}
else {
    console.log("INVALID");
}

字符串

相关问题