Как мне сопоставить выражение, в котором первые три символа представляют собой алфавиты, за которыми следуют "-" и более двух алфавитов.
Например, ABC-XY
Заранее спасибо.
Если вы хотите только проверить, соответствует ли строка шаблону, используйте метод теста:
function isValid(input) { return /^[A-Z]{3}-[A-Z]{2}$/.test(input); } isValid("ABC-XY"); // true isValid("ABCD-XY"); // false
В основном /^[A-Z]{3}-[A-Z]{2}$/ RegExp ищет:
/^[A-Z]{3}-[A-Z]{2}$/
^
[A-Z]{3}
-
[A-Z]{2}
$
Если вы хотите сопоставить буквенно-цифровые символы, вы можете использовать \w вместо [A-Z].
\w
[A-Z]
Ресурсы:
[A-Z]{3}-[A-Z]{2}
, если вы также хотите разрешить использование строчных букв, измените A-Z на A-Za-z.
A-Z
A-Za-z
/\w{3}-\w{2}/.test("ABC-XY") true
это будет соответствовать A-Za-z_.
/^[a-zA-Z]{3}-[a-zA-Z]{2}$/