Регулярное выражение для валидации домена и поддомена
Пытаюсь создать регулярное выражение, валидирующее следующие требования:
- Возможно одновременное использование кириллицы и цифр (без пробелов и спец. символов, разрешен дефис и точка);
- Возможно одновременное использование латиницы и цифр (без пробелов и спец. символов, разрешен дефис и точка);
- Невозможно одновременное использование кириллицы и латиницы;
- Первый символ может быть цифрой;
- Невозможно использование подряд два и более раз символа дефис или точка;
- Возможно использование символа точка два раза, но не подряд;
- Цифры могут повторяться. Буквы - не более двух раз подряд. Дефис может быть только между буквами без дублирования (см. п.5). Дефис не может быть перед точкой или сразу после ее.
На данный момент, наваял такую "аббракадабру":
/(?!.*(.)\1)^(?:[a-z0-9][a-z0-9.\-]{0,61}[a-z0-9]\.(com|org|ru|net))+$/gm
Вроде как условия мне необходимые выполняет, кроме ввода двух одинаковых подряд букв.