在 Javascript 中使用正则表达式

Using regular expression in Javascript

本文关键字:正则表达式 Javascript      更新时间:2023-09-26

我需要检查输入的信息长度是否为 3 个字符,第一个应该是第二个A-Z 0-9第三个0-9

我写的模式如下:

var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);

我对使用正则表达式进行选择、匹配和替换感到困惑。

  • 在这种情况下,[A-Z]只检查一个字符还是整个字符串?
  • +分离(拆分)字符吗?

1) +匹配一个或多个。你想要的只有一个

2) 将您的模式声明为 REGEX 文字,在正斜杠内

考虑到这两点,您的模式应该是

/^[A-Z][0-9][A-Z]$/

另请注意,您可以通过将[0-9]替换为'd快捷方式(匹配任何数字字符)来使模式稍短。

3) (可选)如果要允许任一大小写,请在最后一个尾部斜杠后添加不区分大小写的 i 标志。

4)如果您只想测试字符串匹配模式,而不是从中检索匹配项,请使用test(),而不是match() - 它更有效。

var valid = pattern.test(str); //true or false

+表示一个或多个字符,因此可能的字符串将是ABCD1234EF或A3B,无效是3B或A 6B

这是您需要的正则表达式:

^[0-9][A-Z][0-9]$

在这种情况下,[A-Z] 只检查一个字符还是整个字符串?

这只是检查 1 个字符,但一个字符可以在字符串中多次。

您应该添加 ^ 和 $ 以便像我一样匹配整个字符串。

+ 会分隔(拆分? 不。

+符号只是表明字符可以重复 1+ 次。

"

+"表示一个或多个。在您的情况下,您应该使用精确数量匹配:

/^'w{1}'d{1}'w{1}$/