Если вы не хотите требовать, чтобы они вводили http: // (или https://), то единственное, на что вы действительно можете перейти, так это то, содержит ли строка «.» (Я полагаю, вам не нужно обрабатывать «внутренние» серверы?). Вы также можете проверять на соответствие известным доменам и проверять наличие недопустимых символов, но помимо этого почти все идет.
Что касается фактической реализации, регулярное выражение было бы способом, если бы вы могли с этим справиться ... без сомнения, существует бесчисленное множество примеров проверки URL, если вы используете Google.