【问题标题】:Unable to create regex [duplicate]无法创建正则表达式 [重复]
【发布时间】:2019-01-22 07:35:11
【问题描述】:

我不知道正则表达式以及如何将其与 javascript 匹配。

我想验证字符串有:-

最小值:0A1

最大:10J10

like: /10|[0-9][A-J]10|[1-10]/

但它不起作用。

提前致谢。

【问题讨论】:

  • 什么分钟?什么最大值?有什么规则来管理这个?

标签: javascript regex match


【解决方案1】:

此模式 [1-10] 匹配 1-1 或 0 的范围。

您可以使用与[0-9](或[1-9] 用于第二种情况)或10 匹配的alternation

^(?:10|[0-9])[A-J](?:10|[1-9])$

Regex demo

let pattern = /^(?:10|[0-9])[A-J](?:10|[1-9])$/;
strings = [
  "0A1",
  "10J10",
  "6A10",
  "11J10"
].forEach(s => {
  console.log(s + " ==> " + pattern.test(s));
});

【讨论】:

  • 不客气。感谢@TimPietzcker 的编辑。
【解决方案2】:

试试这个:

/([0-9]|10)[A-J]([1-9]|10)/

在你的正则表达式中:

[1-10] is wrong : is the same that : any caracters between 1 and 1 or 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    相关资源
    最近更新 更多