`
huhu_long
  • 浏览: 71415 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Uri.TryCreate vs Regex

    博客分类:
  • .net
阅读更多
Today, Ken Crismon reviewed my code checked in recently and shot me an email, said that it should be better to use Uri.TryCreate method to validate a url.

My case is if the string value starts with "http" or "https", then we need to make it clickable.

My original code was using regex

Regex.IsMatch(url, "^https?://");


And it seems works well.

But I am not familiar with Uri.TryCreate method, never used before.

So I am going to have a try. Yes, for most cases it works great. But suddenly I found the value like "anything:balabala" also will be treated as a valid url, that's not make sense...




After a bit of research and found there is a thread in stackoverflow gives a good explanation for this:

http://stackoverflow.com/questions/5377381/why-uri-trycreate-return-true-for-uri-like-mailfoo

Then I discussed this with Ken and finally decided to use regex to do the validation.

Although I may won't do any change for the code, I'd like to say thanks to Ken, he let me know Uri.TryCreate, and know what's the scenarios that we can use Uri.TryCreate... thanks buddy, have a good weekend!
  • 大小: 8.4 KB
分享到:
评论

相关推荐

    前端项目-URI.js.zip

    URI.js 是一个专门为前端开发设计的JavaScript库,其主要功能是处理和操作统一资源标识符(Uniform Resource Identifier,简称URI)。在Web应用中,URI扮演着至关重要的角色,它用于定位网络资源,包括URL(Uniform ...

    uri.rar_generic

    "uri.rar_generic"这个压缩包可能包含了一组通用的URI处理函数或库,用于解析、创建、比较和操作URI。 在“uri.c”文件中,很可能实现了URI的相关功能。通常,C语言编写的源代码文件会包含一系列的函数声明和实现,...

    URI.rar_C++

    【标题】"URI.rar_C++" 提供了一个与C++编程语言相关的主题,这通常意味着里面包含了解决特定URI(Uniform Resource Identifier)问题的源代码。URI是互联网上资源的唯一标识,它可能是网页、文件或其他类型的数据。...

    URI.rar_android

    本压缩包"URI.rar_android"提供了一个常用的URI大全,对于深入理解Android应用中的URI使用具有很大的帮助。 在Android系统中,URI主要通过ContentProvider进行操作,ContentProvider是Android四大组件之一,负责...

    Android开发:Android Studio:内容提供者(ContentProvider)与URI.pdf

    Android开发:Android Studio:内容提供者(ContentProvider)与URI.pdf

    angular-uri:一个允许URI.js依赖注入的角度模块

    script type =" text/javascript " src =" bower_components/uri.js/src/URI.js " > </ script > 在angular.js和URI.js之后包括angular-uri < script type =" text/javascript " src =" bower_...

    uri.c:URI 组件编码器解码器

    uri.c URI 组件编码器/解码器安装$ clib install littlstar/uri.c用法# include < uri> # include < stdio># include < string># include " uri.h "intmain ( void ) { char *enc = NULL ; char *dec = NULL ; enc =...

    URI.zip_This Is It_uri

    It s little try to implement a URI class fpr Visaul C++. So everybody who is interestet my first try look at this files.

    Win10系统如何使用URI.docx

    在Windows 10操作系统中,URI(Uniform Resource Identifier)是一种用于唯一标识资源的字符串。URI可以被用来启动特定的应用程序或打开特定的设置页面。以下是如何在Win10系统中使用URI的详细步骤和相关知识点: 1...

    URI.rar_universal

    关于URI的说明,大家可以侃侃,Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。

    android ProviderTest

    每个`ContentProvider`都会有一个独一无二的URI(统一资源标识符),通过这个URI,其他应用可以请求数据。 2. **创建ContentProvider**:要创建一个`ContentProvider`,你需要继承`android.content.ContentProvider...

    URI.js:JavaScript URL突变库

    URI.js重要提示:您可能不再需要URI.js ! 现代浏览器提供和接口。 注意: npm软件包名称已更改为urijs 在查看如下代码时,我总是想把自己的脑袋开枪: var url = "http://example.org/foo?bar=baz" ;var separator ...

    Android 常用的Intent的URI及示例

    Uri uri = Uri.parse("geo:52.76,-79.0342"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); 三、打开拨号界面 Intent.ACTION_DIAL 是一种常用的 Intent 动作,用于打开拨号界面。例如,下面的代码将打开...

    支持jdk8版本dubbo-admin

    org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType' is not writable ...

    博客《Uri详解之——Uri结构与代码提取》对应源码

    例如,使用`Uri.withAppendedPath()`添加路径,使用`Uri.encode()`和`Uri.decode()`进行URL编码解码。 7. **文件Uri与安全问题**: 文件Uri通常以`file:`开头,直接访问可能导致安全问题,例如文件权限泄露。因此...

    Android Intent调用 Uri的方法总结

    Uri geoUri = Uri.parse("geo:38.899533,-77.036476"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, geoUri); startActivity(mapIntent); ``` 显示路径则需要构造一个指向Google Maps的Uri,如下所示: ``...

    meteor-uri-js:为 Meteor 重新打包的 URI.js

    《流星URI.js:为Meteor定制的URI处理库》 在Web开发中,URI(Uniform Resource Identifier)是用于唯一标识资源的重要工具。JavaScript作为客户端编程的主要语言,常常需要对URI进行解析、操作和构建。Meteor是一...

    urijsURL的Javascript操作库

    **uri.js - URL的Javascript操作库** uri.js 是一个强大的JavaScript库,专为处理和操作URL而设计。在Web开发中,URL(统一资源定位符)的管理是至关重要的,uri.js 提供了一系列灵活和高效的工具,使得在前端或...

    android常用的API接口调用

    要在 Android 应用程序中显示网页,可以使用 Intent.ACTION_VIEW 动作和 Uri.parse() 方法来解析 URL。例如: ```java Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW, ...

Global site tag (gtag.js) - Google Analytics