Доменная часть имеет максимальную длину 255 символов и может состоять только из цифр, символов ASCII и дефисов;дефис не может быть первым.
Проверка правильности одного компонента домена может быть выполнена с использованием этого регулярного выражения, без учета регистра, независимо от длины:
[a-z0-9]+(-[a-z0-9]+)*
Это снова шаблон normal* (special normal*)*
,с normal
, являющимся [a-z0-9]
и особым существом -
.
Затем вы берете все это в другом шаблоне normal* (special normal*)*
как часть normal
и специальное существо .
, и привязываете егов начале и в конце:
^[a-z0-9]+(-[a-z0-9]+)*(\.[a-z0-9]+(-[a-z0-9]+)*)+$
Если вы не можете позволить себе сопоставление без учета регистра, добавьте A-Z
к классу символов.
Но обратите внимание, что он не проверяет максимальныйдлина 255. Это может быть сделано с использованием положительного взгляда, но регулярное выражение станет очень сложным, и будет короче использование функции длины строки;)