无法创建正则表达式

时间:2019-01-22 07:35:12

标签: javascript regex match

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

我要验证字符串是否具有:-

最小值:0A1

最大:10J10

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

但是它不起作用。

谢谢。

2 个答案:

答案 0 :(得分:4)

此模式[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));
});

答案 1 :(得分:1)

尝试一下:

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

在您的正则表达式中:

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