Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有字符位置的正则表达式验证_Javascript_Regex - Fatal编程技术网

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

Javascript 带有字符位置的正则表达式验证,javascript,regex,Javascript,Regex,您好,我需要在javascript中使用正则表达式进行验证的帮助 我需要这样的东西 第一个字符应为指定字符,如a、B或C。接下来的3个字符应该是数字 示例:A123、B345、C234 D123是不允许的。这适用于我: var rgx = /^(?:A|B|C)\d{3}$/; alert('A123'.match(rgx)); // A123 alert('D123'.match(rgx)); // null alert('B986'.match(rgx)); // B986 细分: ^

您好,我需要在javascript中使用正则表达式进行验证的帮助

我需要这样的东西

第一个字符应为指定字符,如a、B或C。接下来的3个字符应该是数字

示例:A123、B345、C234

D123是不允许的。

这适用于我:

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

尝试使用此正则表达式:

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

谢谢你真是太棒了。。。另一个问题。。如果“A123你好”是可能的话。它仍然检查前4个字符,但不检查后面的字符。在这种情况下,只需从末尾删除
$
。这样,它将只在字符串的开头匹配。如果该文本可以位于字符串中的任何位置,则还可以从正则表达式的开头删除
^