Вы можете просто сделать его необязательным
/^((?:https?:\/\/+)?[\w\-]+\.[\w\-]+)/i
(?:)
вокруг части, которую вы не хотите иметь, является группой без захвата, ?
впоследствии делает ее необязательной.
Я не уверен, для чего подходит +
после второй косой черты, он говорит по крайней мере об одном из предшествующих символов.Это означает, что он также допускает такие вещи, как http://////////
.
Надеюсь, вы знаете, что это регулярное выражение далеко не соответствует действительным URL-адресам.
Например, оно будет соответствовать вещам вроде
http://////////------------.-
или, по крайней мере,
http://N.O
^ after this position you can write what you want and it will match valid.
Здесь, в Regexr , вы можете увидеть, что соответствует вашему регулярному выражению.
См. Ответ Purple Coder для, вероятно, лучшего решения.