I thought about doing checks on the string, if it starts with or www, send the string to the Uri Builder class, but this does not help with "google.com" which also must be an Uri.
How can I validate stuff like "google.com" as an Uri, but not "google"?
Assume that this regex will be used for a public URL shortener written in PHP, so URLs like shouldn’t pass (even though they’re technically valid).
Checking the end of the string for .com, , doesn't seem flexible. However this code builds an Uri from a single word - if I pass "google" i get in return "google/" which is not what I need. The problem with this code is that when the string is normal like "google", it throws a Socket Exception.
Also I would like to avoid building the code logic on try/catch constructs. By the way you can replace strings "://" and "http" with their object correspondents Uri. So I have made a variation of your code that handles it: Absolute URIs are characterized by a complete reference to the resource (example: while a relative Uri depends on a previously defined base URI (example: /index.html). This method works in accordance with RFC 2396 and RFC 2732. Abbreviated URLs, this situtation is explained in detail as follows: The URL syntax was designed for unambiguous reference to network resources and extensibility via the URL scheme.
I wanted to share a quick tip on how to validate if a given URI is well formed.
If you choose to participate, the online survey will be presented to you when you leave the Msdn Web site.
I am reluctant of using Regular Exp on this because they can have flaws, what if in the future someone invents a popular extension like ".zedo" for example, my reg Exp will not catch it since it will only handle known terminations (.net, etc)[email protected]: Regular expressions may get you in trouble in the future as you mentioned.
So, sticking with standard methods provided by the framework is better.
Is Well Formed Uri String and I think I understand why it validates "google" as a valid Uri.
So, what I need I guess, is a way to check if the end of the string has a .com, .net, .attached to it.