2014-10-29 2 views

ответ

1

Возможно, вы захотите провести некоторое размышление о том, действительно ли регулярные выражения являются инструментом выбора для вашей работы. Доменные имена подвержены ограничениям, которые делают регулярные выражения похожими на них громоздкими (читайте как: кошмар для поддержания).

Сказав это, попробуйте

^(https://)?(www\.)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){1,2}$ 

Объяснение:

  • опционально https схема перед
  • опционально www. префикс
  • каждый поддомен в доменных имен имеет, по крайней мере, 2 символов (не предусмотренные стандартами, но требуемые некоторыми реестрами для по крайней мере некоторых уровней поддоменов)

Недостатки:

  • соответствует доменные имена с 2-х или 3-х сегментов только
  • совпадения областей, заданных IP адресов только
  • не соответствует все специальные символы разрешены. в частности, не надлежащим образом исключить ведущее/ведомый дефис поддоменов
  • длина ограничения не проверено
  • Действительности доменов верхнего уровня не проверена
  • действительности спецификации IP-адрес не проверен не
  • нет расширенных возможностей регулярных выражений

Предложение:

Используйте простое выражение для проверки основной синтаксической корректности:

^(http[s]?://)?([^.:/@#]+)(\.[^.:/@#]+)+$ 

Проверяйте ограничения более тонкие независимо при необходимости. Разумеется, есть субъективное измерение, где можно провести разделительную линию.

Предлагаемые данные:

Все применимые RFC. Хотя это довольно технические документы и часто не позволяют легко читать, затраченные усилия заслуживают внимания, поскольку они являются авторитетными источниками.

+0

Можете ли вы дать мне jquery .. Я использую jquery validation-engine –

Смежные вопросы