Avatar of lebron letchev
lebron letchev

asked on 

Add “http://” or “https://” to a URL that contain only the relative url starting by “www” or not

Dear all,

I am using the script below for reading an url and automatically add to one the "Protocol" Http or Https.  The script below reading only https or http, because I cannot add another ELSE IF. This script is good for any url starting by "www", but many urls don´t starting by "www". So I have 2 problems. Could someone help me to improve this code for adding automatically the protocol and independetly if starts or not by 'www'?


<script>
function formatURL()
{
var url = document.getElementsByName("URL")[0];
var formattedURL = document.getElementsByName("formattedURL")[0];
url = url.value;
if(url.substr(0,3) === "www") // it is for an url starting by www but I need for urls starting or not by www
{
formattedURL.value = "http://"+url;

return;
}

// I need here other alternative to https:
}
formattedURL.value = url;
}
</script>

The results are reading by a form that "convert" the url without http or https with www or without www to real url to open it in another screen

Sorry by the inconveniences

Sincerely

Letchev
JavaScript

Avatar of undefined
Last Comment
lebron letchev
Avatar of Norie
Norie

What do you  mean you can't add another else if?

You don't actually have an else if in the posted code and you can have multiple else if statements
Avatar of lebron letchev

ASKER

Yes, Another else if does not works.

if(url.substr(0,3) === "www") // with our without www

{
formattedURL.value = "http://"+url;

return;
}

else

{
formattedURL.value = "https://"+url;

return;
}
Avatar of leakim971
leakim971
Flag of Guadeloupe image

what is the condition to use https ?
Avatar of David Favor
David Favor
Flag of United States of America image

Looks like you're making this overly complex.

If you simple write links without a protocol, like //foo.com (rather than http: or https:) then likely your code will work.

Give this a try first.
ASKER CERTIFIED SOLUTION
Avatar of Sebastian Strittmatter
Sebastian Strittmatter
Flag of Germany image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of lebron letchev

ASKER

It does not determine the correct protocol. Try with www.ebay.co.uk and www.elmundo.es
Avatar of leakim971
leakim971
Flag of Guadeloupe image

what is the condition to use https ?
Avatar of lebron letchev

ASKER

No special condition. The user places the domain name without http or https. The script read the url and show the full url including the protocol
I have tested my regex an it works but if there is no condition for https and http then you have to decide. Or do you want to call the page via https an check if there is a redirect to https and show this result to the user?
Avatar of lebron letchev

ASKER

Yes, redirect to http or https

For example, the user inputs: www.elmundo.es - the output would be http://www.elmundo.es
                                                     en.wikipedia.org/wiki/HTTPS - output = https://en.wikipedia.org/wiki/HTTPS
                                                      www.searchenginejournal.com - output = https://www.searchenginejournal.com

Thank you for your interest and patience.
Avatar of leakim971
leakim971
Flag of Guadeloupe image

ok you want to figure out if the site the user type redirect people to https right?
I don't think it's possible using only javascript you can detect redirect using php
Avatar of lebron letchev

ASKER

Wow... another sleepless night
Avatar of lebron letchev

ASKER

Dear all again

For reading the contents of a remote web page (Asp classic, PHP or Javascript) using  MSXML2.ServerXMLHTTP it is impossible open a remote page without place the Protocol http or https, but in general people does not writing the protocol qhen reading a remote web page through a web browser, but when we create a script for reading contents of a remote web page we need identify the procotol evey time.
Avatar of leakim971
leakim971
Flag of Guadeloupe image

you still want to do this with javascript?
Avatar of lebron letchev

ASKER

Yes. Javascript would be the first alternative, but I will search on google to see if I find anything in PHP (probably) or in ASP CLASSIC (better). I need a script or partial code for redirecting the url without protocol through an input box for real page

for example: INPUT: WWW.ELMUNDO.ES
                       OUTPUT: HTTP://WWW.ELMUNDO.ES

                       INPUT: en.wikipedia.org/wiki/HTTPS
                       OUTPUT: https://en.wikipedia.org/wiki/HTTPS

I
Avatar of lebron letchev
lebron letchev

ASKER

Thank you.

I found the solution  by chance (literally)
JavaScript
JavaScript

JavaScript is a dynamic, object-based language commonly used for client-side scripting in web browsers. Recently, server side JavaScript frameworks have also emerged. JavaScript runs on nearly every operating system and in almost every mainstream web browser.

127K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo