Мне нужно проверить доменные имена с помощью PHP.
Только этот формат должен быть разрешен: google.com
, subdomain.stack-overflow.org
т. Д.
Он должен допускать только (в случае специальных символов)
Другим форматам не разрешается использовать: http, https,?,/index.php,www.
и т. д. ни одно из них не должно быть разрешено.
Также я не хочу разрешать: localhost, mydomain.com
Я пробовал: FILTER_VALIDATE_URL
но он принимает http
и т. Д. Я также пробовал что-то регулярное выражение следующим образом: [a-z0-9-]+(.[a-z0-9-]+)
Но он позволяет ex: stackoverflow
(без .org
).
Пожалуйста помоги.
Благодарю.
Ваше регулярное выражение было почти правильным. Просто .
не подходит для «любого персонажа», а не только для «.». Итак, попробуйте это регулярное выражение:
/([0-9a-z-]+\.)?[0-9a-z-]+\.[az]{2,7}/
Помните, что введены новые домены верхнего уровня. Они не используют латинские символы. Взгляните на http://many.at/idntlds/ .
Об исключении «mydomain.com»: вам нужно будет проверить это после применения регулярного выражения.