About validation URL format: regex using:
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*)?$/;
should pass:
const string1 = 'http://www.example.com'
const string2 = 'http://example.com'
const string3 = 'www.example.com'
const string4 = 'example.com'
should fail:
const string5 = 'www.example'
const string6 = 'http://www.example'
but string5 , string6
still pass, I just newbie regex.
Link reference: https://jsbin.com/hegocoyoge/edit?js,console