繁体   English   中英

在Javascript中使用正则表达式

[英]Using regular expression in Javascript

我需要检查输入的信息是否是3个字符长,第一个应该是0-9AZ和第三个0-9

我写的模式如下:

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

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

  • 在这种情况下, [AZ]只检查一个字符或整个字符串吗?
  • +分开(拆分?)字符?

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

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

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

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

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

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

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

4)如果你只想测试一个匹配模式的字符串,而不是从中检索匹配,那么使用test() ,而不是match() - 它更有效。

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

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

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

在这种情况下,[AZ]只检查一个字符或整个字符串吗?

它只是检查1个字符,但字符串可以多次使用char。

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

+分开(拆分?)字符? 没有。

+符号只表​​示字符可以重复1次以上。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM