О проверке формата URL: регулярное выражение с использованием:
const regex = /^(?:(?:https?):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-zA-Z0-9]-*)*[a-zA-Z0-9]+)(?:\.(?:[a-zA-Z0-9]-*)*[a-zA-Z0-9]+)*(?:\.(?:[a-zA-Z]{2,})))(?::\d{2,5})?(?:\/\S*)?$/;
должно пройти:
const string1 = 'http://www.example.com'
const string2 = 'http://example.com'
const string3 = 'www.example.com'
const string4 = 'example.com'
должен потерпеть неудачу: const string5 = 'www.example'
const string6 = 'http://www.example'
но string5 , string6
все еще проходит, я просто новичок в регулярном выражении.
Ссылка на ссылку: https://jsbin.com/hegocoyoge/edit?js,console