How To Validate URL In PHP With Regex

Websolutionstuff | Apr-13-2021 | Categories : Laravel PHP

Hello Guys,

In this tutorial we will see how to validate URL in PHP with regex. also you can implement in laravel or php. here we will give you example of validate url with regular expression and without regular expression so you can both way to implement validate url in php or laravel.

When a URL is submitted from a form input by the user, it is very important to check this URL is valid or not before taking any action on it. So here we will provide the simple PHP code to validate URL in PHP. 

PHP provide filter_var() inbuilt function with FILTER_VALIDATE_URL filter. So, we can easily validates a URL in PHP using javascript regex or regular expression .




<!DOCTYPE html>

// Variable to check
$url = "";

// Validate url
if (filter_var($url, FILTER_VALIDATE_URL)) {
  echo("Enter URL is a valid URL");
} else {
  echo("Enter URL is not a valid URL");




Possible  flags of validate URL in PHP 

FILTER_FLAG_HOST_REQUIRED - URL must include host name (like
FILTER_FLAG_PATH_REQUIRED - URL must have a path after the domain name (like


Example : Validate URL With Regex

Above function is simply check URL vaidation. If you want to check or validate URL manually or more securely then you can use regular expression. So here I will give example of code.



$regex = "((https?|ftp)\:\/\/)?";
$regex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?";
$regex .= "([a-z0-9-.]*)\.([a-z]{2,3})";
$regex .= "(\:[0-9]{2,5})?";
$regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?";
$regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?";
$regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?";

$url = '';

if (preg_match("/^$regex$/i", $url)) {
   echo('Enter URL is a valid URL');


Recommended Post
Featured Post
How To Disabled Submit Button After Clicked Using jQuery
How To Disabled Submit Button...

In this article, we will see how to disabled submit button after clicked using jquery. Using jQuery we will disable the...

Read More


Multiple ways to Validate Email Addresses in Laravel 10
Multiple ways to Validate Emai...

Hey there! Have you ever wondered how websites ensure that the email addresses you provide are valid? In this article, I...

Read More


How To Downgrade PHP 8 to 7.4 in Ubuntu
How To Downgrade PHP 8 to 7.4...

As a web developer, I understand the significance of embracing the latest technologies to stay ahead in the dynamic worl...

Read More


Laravel 8 Import Export CSV/EXCEL File Example
Laravel 8 Import Export CSV/EX...

In this article, we will see the laravel 8 import and export CSV/EXCEL file example. We will simple create imp...

Read More