How to validate URL using regular expression in JavaScript?

23 May, 2019
Given a URL, the task is to validate it. Here we are going to declare a URL valid or Invalid by matching it with the RegExp by using JavaScript. We’re going to discuss a few methods.
Example 1: This example validates the URL = ‘https://www.geeksforgeeks.org’ by using Regular Expression.
<!DOCTYPE HTML><html>  <head>    <title>        JavaScript       | Regular expression to match a URL.    </title></head>  <body style="text-align:center;" id="body">    <h1 style="color:green;">              GeeksForGeeks          </h1>    <p id="GFG_UP" style="font-size: 15px;                          font-weight: bold;">    </p>    <button onclick="gfg_Run()">        click here    </button>    <p id="GFG_DOWN" style="color:green;                             font-size: 20px;                             font-weight: bold;">    </p>    <script>        var el_up = document.getElementById("GFG_UP");        var el_down = document.getElementById("GFG_DOWN");          var expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;        var regex = new RegExp(expression);        var url = 'www.geeksforgeeks.org';        el_up.innerHTML = "URL = '" + url + "'";          function gfg_Run() {            var res = "";            if (url.match(regex)) {                res = "Valid URL";            } else {                res = "Invalid URL";            }            el_down.innerHTML = res;        }    </script></body>  </html>
Output:
Before clicking on the button:
After clicking on the button:
Example 2: This example validates the URL = ‘https://www.geeksforgeeksorg'(Which is wrong) by using different Regular Expression than previous one.
<!DOCTYPE HTML><html>  <head>    <title>        JavaScript       | Regular expression to match a URL.    </title></head>  <body style="text-align:center;"      id="body">    <h1 style="color:green;">              GeeksForGeeks          </h1>    <p id="GFG_UP" style="font-size: 15px;                           font-weight: bold;">    </p>    <button onclick="gfg_Run()">        click here    </button>    <p id="GFG_DOWN" style="color:green;                            font-size: 20px;                             font-weight: bold;">    </p>    <script>        var el_up = document.getElementById("GFG_UP");        var el_down = document.getElementById("GFG_DOWN");          var expression = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi;        var regex = new RegExp(expression);        var url = 'www.geekforgeeksorg';        el_up.innerHTML = "URL = '" + url + "'";          function gfg_Run() {            var res = "";            if (url.match(regex)) {                res = "Valid URL";            } else {                res = "Invalid URL";            }            el_down.innerHTML = res;        }    </script></body>  </html>
Output:
Before clicking on the button:
After clicking on the button:
JavaScript-RegExp
JavaScript
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Difference between var, let and const keywords in JavaScript
Remove elements from a JavaScript Array
Roadmap to Learn JavaScript For Beginners
Difference Between PUT and PATCH Request
JavaScript | Promises
Installation of Node.js on Linux
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?