Регулярное выражение, необходимое для правильной проверки имени домена в PHP

Мне нужно регулярное выражение, которое будет проверять имя домена, включая символы, такие как az AZ 0-9 –

Также любое имя домена имеет символ подчеркивания _?

Пожалуйста, помогите мне.

Я думаю, это то, что вы ищете:

?. ^ [A-Za-Z0-9] + ([. A-Za-Z0-9 -] +) (ком | орг | чистый | млн | образование | де | COM | ORG | NET | MIL | EDU | DE) $

Это регулярное выражение будет работать на любом количестве поддоменов и всех доменов верхнего уровня (мир – это не просто мурка):

 /^ (?: [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])? \. )* #Subdomains [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])? #Domain \. [az]{2,6} $ #Top-level domain /ix 

У доменных имен не может быть символов подчеркивания. Только [a-zA-Z0-9], а также дефисы, если они не находятся в начале или в конце имени поддомена.