Регулярное выражение для соответствия имени

Я пытаюсь записать регулярное выражение в JavaScript для соответствия полю имени, где единственные позволенные значения являются буквами, апострофами и дефисами. Например, следующие имена должны быть подобраны:

jhon's
avat-ar
Josh

Кто-то мог помочь мне создать такой regex?

5
задан Perception 1 May 2012 в 03:27
поделиться

1 ответ

Да.

^[a-zA-Z'-]+$

Здесь

  • ^ означает начало строки, а $ - конец строки.
  • [...] - это класс символов, все, что находится внутри него, будет сопоставлено.
  • x+ означает, что шаблон перед ним может быть повторен один или несколько раз.

Внутри класса символов,

  • a-z и A-Z - строчные и прописные буквы,
  • ' - апостроф, и
  • - - дефис. Дефис должен стоять в начале или в конце, чтобы избежать путаницы с разделителем диапазонов, как в a-z.

Обратите внимание, что этот класс не будет соответствовать международным символам, например, ä. Вы должны включать их отдельно, например,

^[-'a-zA-ZÀ-ÖØ-öø-ſ]+$
9
ответ дан 13 December 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: