REGEX检查字符串开头或结尾处的字符

时间:2013-10-22 15:17:39

标签: javascript regex

我需要验证表单中的条目。我正在使用/^\d{9}[A-Z]$/检查9位数字和单个大写字符。我被告知输入可以是单个大写字符和9个数字或9个数字和一个大写字符,但不是单个大写字符,然后是9个数字,然后是单个大写字符。

基本上A123456789123456789A是可以接受的,但不是A123456789A

我将使用什么RegEx来验证开头或结尾处是否至少有一个单个大写字符,但不是两个...后面或前面都有9位数?

2 个答案:

答案 0 :(得分:6)

如果你想在一个正则表达式中,这应该做:

(^\d{9}[A-Z]$)|(^[A-Z]\d{9}$)

答案 1 :(得分:0)

如果你的正则表达式支持它,你可以使用条件:

^([A-Z])?\d{9}(?(1)|[A-Z])$

说明:

^
([A-Z])?  # optional capture group
\d{9}
(?(1)     # if capture group 1 exist
          # then there is nothing
  |       # ELSE
    [A-Z] # there is an uppercase letter
)
$