views:

1534

answers:

2

What is the expression I should use in order to check for a valid url in javascript?

A: 

Depends no how complicated you want the check to be.

Here's an uber-complicated one:

^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$

Actually, regular expressions are quiet portable between platforms. Most examples from a google search can be used in Javascript, albeit maybe with a few "flavor" modifications.

chakrit
+3  A: 

Take a look at this complete regular expression for URLs that has been generated automatically based on the RFC 1738.

Gumbo
Thanks, I haven't seen that before.
eyelidlessness