我需要一个Uri验证方法。因此,像字符串:从字符串验证Uri
“http://www.google.com”, “www.google.com”, “google.com”
..must验证为的URI。而像“google”这样的普通字符串也不能作为Uri的验证。 要做这个检查,我使用了两种方法:UriBuilder和Uri.TryCreate()。
UriBuilder的问题是,我给它的任何字符串,它会返回一个Uri。当我在构造函数中传递一个普通字符串时,它会给出一个方案并返回“http://google/”,这不是我想要的行为。
Uri.TryCreate()的问题在于,虽然它可以与“http://www.google.com”和“www.google.com”正常工作,但当我将其设置为“google.com”时,它不会验证是否为Uri。
我考虑过对字符串进行检查,如果它以http://或www开头,则将字符串发送到UriBuilder类,但这对于“google.com”也没有帮助,它也必须是Uri。
如何验证诸如“google.com”之类的东西作为Uri,而不是“google”?检查.com,.net,.org字符串的结尾似乎不灵活。
您可以验证您是否正在验证URL或URI吗?你的问题有点令人困惑。 – slugster 2010-09-09 07:12:15
@Slugster - 在阅读完您的问题后,我在网上查询了解差异,所以答案是我需要验证一个URI而不是URL。 – 2010-09-09 12:14:40