Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regular expression for checking website url

Tags:

regex

php

I need to check the web address, using regular expression.

if user type url as

  1. www.test.com
  2. http://www.test.com
  3. https://www.test.com

i have a regular expression like

/^(http\:\/\/[a-zA-Z0-9_\-]+(?:\.[a-zA-Z0-9_\-]+)*\.[a-zA-Z]{2,4}(?:\/[a-zA-Z0-9_]+)*(?:\/[a-zA-Z0-9_]+\.[a-zA-Z]{2,4}(?:\?[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)?)?(?:\&[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)*)$/

but it will only allow the second option only. how can i modify the regular expression so that , it should accept 1st and 3rd option too

like image 775
Linto davis Avatar asked Mar 22 '10 06:03

Linto davis


4 Answers

You can use this pattern also:

(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ;,./?%&=]*)?

This will work for matching:

http://www.google.com
https://www.google.com
www.google.com
google.com
google.in

Simple pattern for matching.

Hope this will help someone!!!

like image 192
Mohd Haider Avatar answered Nov 20 '22 16:11

Mohd Haider


This is a pretty basic expression for testing domain names:

@^(http\:\/\/|https\:\/\/)?([a-z0-9][a-z0-9\-]*\.)+[a-z0-9][a-z0-9\-]*$@i

Should match:

domain.com
www.domain.com
http://domain.com
https://domain.com
like image 36
Salman A Avatar answered Nov 20 '22 15:11

Salman A


Use the following program for validating the website URL.

It will be validating the following and any valid website URL.

  1. www.test.com
  2. http://www.test.com
  3. https://www.test.com

    <?php
            $string_url="https://www.test.com";
            $reg_exp = "/^(http(s?):\/\/)?(www\.)+[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,3})+(\/[a-zA-Z0-9\_\-\s\.\/\?\%\#\&\=]*)?$/";
            if(preg_match($reg_exp, $string_url) == TRUE){
            echo "URL is valid format";
            }
            else{
            echo "URL is invalid format";
            }
    ?>


like image 3
rekha_sri Avatar answered Nov 20 '22 15:11

rekha_sri


You can make the http:// optional and also the s in https optional as:

/^((?:http(?:s)?\:\/\/)?[a-zA-Z0-9_-]+(?:.[a-zA-Z0-9_-]+)*.[a-zA-Z]{2,4}(?:\/[a-zA-Z0-9_]+)*(?:\/[a-zA-Z0-9_]+.[a-zA-Z]{2,4}(?:\?[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)?)?(?:\&[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)*)$/
like image 1
codaddict Avatar answered Nov 20 '22 15:11

codaddict