具有字符位置的正则表达式验证

时间:2012-08-10 01:43:09

标签: javascript regex

您好我需要在javascript

中使用正则表达式进行验证方面的帮助

我需要这样的东西。

第一个字符应该是指定的字符,例如A,B或C.接下来的3个字符应该是数字。

示例:A123,B345,C234。

不允许使用D123。

2 个答案:

答案 0 :(得分:3)

这对我有用:

var rgx = /^(?:A|B|C)\d{3}$/;

alert('A123'.match(rgx)); // A123
alert('D123'.match(rgx)); // null
alert('B986'.match(rgx)); // B986

故障:

  • ^匹配字符串的开头
  • (?:A|B|C)匹配A或B或C但不捕获它
  • \d{3}连续匹配3位数
  • $匹配字符串的结尾

因此,'A12'无效,因为没有3位数,' A123'因为前导空格而无效,'A123 hello'也不会因为匹配不在开头而且字符串的结尾。

要使其不区分大小写,请在正则表达式末尾的i之后添加/

答案 1 :(得分:0)

试试这个正则表达式:

/^[a-c]\d{3}$/i