Jump to content

Recommended Posts

Hi i have validate the URL in php. I am using the below regular expression to valdiate it...for some url its working but for few url its not working...could u plz help me

 

this is the code i am using currently

 

function isValidURL($url)
{            
    return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}

 

For example, if enter the invalid url, still it accepting,

 

http://test

 

Link to comment
https://forums.phpfreaks.com/topic/223350-validate-url/
Share on other sites

That's because you make the rest of the parts optional. 

 

(.[a-z0-9-]+)*

 

You require a single char and then one or more chars from the char class...but then group it (wrap it in parenthesis) and put a 0 or more quantifier on it, effectively making it optional.

 

(:[0-9]+)?

 

You require a : and then 1 or more numbers..but then group it and put a 0 or 1 quantifier on it, effectively making it optional.

 

(/.*)?

 

You require a / and then 0 or more of anything...but then group it and put a 0 or 1 quantifier on it, effectively making it optional.

 

Just google "url regex" or similar, you will see literally a ton of results for some good url validation regexes you can use...it's a very common topic.

Link to comment
https://forums.phpfreaks.com/topic/223350-validate-url/#findComment-1154639
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.