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

8/22/2022 - Mon
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
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;
}
leakim971

what is the condition to use https ?
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
David Favor

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
Sebastian Strittmatter

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
lebron letchev

ASKER
It does not determine the correct protocol. Try with www.ebay.co.uk and www.elmundo.es
leakim971

what is the condition to use https ?
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
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
Sebastian Strittmatter

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?
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.
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
leakim971

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
lebron letchev

ASKER
Wow... another sleepless night
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.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
leakim971

you still want to do this with javascript?
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
lebron letchev

ASKER
Thank you.

I found the solution  by chance (literally)
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck