Подтвердить что ты не робот

Регулярное выражение для URL-адресов без http, https, ftp

Я ищу регулярное выражение, которое принимает такие URL:

http://www.example.com
www.example.com

Это то, что у меня есть до сих пор, но это регулярное выражение не соответствует URL-адресам без http:// или https://, или ftp://:

regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

Как сделать протокол необязательным?

4b9b3361

Ответ 1

Сделайте часть (ftp|http|https):\/\/ опциональной:

((ftp|http|https):\/\/)?

Ответ 2

Попробуйте это, это подтвердит URL с (http, ftp, https) или без (http, ftp, https)..

/^(?:(ftp|http|https):\/\/)?(?:[\w-]+\.)+[a-z]{3,6}$/;

Ответ 3

Попробуйте, чтобы это подтвердило URL-адрес с или без (http, ftp, https) в верхнем и нижнем регистре, а также позволяет вам делать численные значения

/^(?:(ftp|http|https)?:\/\/)?(?:[\w-]+\.)+([a-z]|[A-Z]|[0-9]){2,6}$/gi;

Ответ 4

Пожалуйста, смотрите https://codegolf.stackexchange.com/a/480/6593

Цитата из приведенной выше ссылки:

value = 'www.google.com';
if(/(^|\s)((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)/gi.test(value)) {
            return true;
        } else {
            return false;
        }