Small regular expression question

I'm looking to write a regular expression that will match valid URLs.
My problem is that it almost works, except it accepts URLs with / in the
middle of them, suchs as:
http://www.ruby/rails.com

It looks (to me) like my regular expression should not match strings
like that, but it does. Here is the regular expression:

.match(/^((http|https):\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.(\w+).*$/ix)

How can I make it not accept URLs with / in the middle of them?

Google's your friend here. "validate url with regular expression".

I'm looking to write a regular expression that will match valid URLs.
My problem is that it almost works, except it accepts URLs with / in
the
middle of them, suchs as:
http://www.ruby/rails.com

It looks (to me) like my regular expression should not match strings
like that, but it does. Here is the regular expression:

.match(/^((http|https):\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.(\w+).*
$/ix)

How can I make it not accept URLs with / in the middle of them?

for the record, the problem here is .* at the end
^((http|https):\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.(\w+)
matches against
http://www.ruby
and the remainder (/rails.com) trivially matches against .*

Fred

Frederick Cheung wrote:

I'd check out the ruby URI module:

http://www.ruby-doc.org/core/classes/URI.html

It's a more complex problem than it appears at first glance.

good luck!