我使用以下表达式进行URL验证。
^(https?:'/'/)?(['da-z'.-]+)'.([a-z'.]{2,6})(['/'w '.-]*)*'/?$
然而,当我有
"httpcolonforwardslashessite" (colon = : and foward slashes = //)
仍然作为url传递。我如何修改上面的表达式,以确保有"。com . net"在结束?
谢谢
tldr:我想检查url末尾是否有。com或。net。我可以对上面的经验做什么改变来实现这一点?
你不能使用内置函数,而不是正则表达式?
Uri.TryCreate
Method可以帮助你。
这个方法
- 如果成功创建了
- 返回
Boolean
值为true
;否则,false
. - 可以检查不同类型的url,如绝对或/和相对使用过载接受
UriKind Enumeration
作为参数。
Uri
,则假设您只想要。com,这将工作:
^(https?://)?(['da-z.-]+).([a-z.]{2,6})([/'w .-])/?'.com([/'w '.!"£$%^&'(')'*])*
或者这个不仅仅包括。com
^(http|https)'://[a-zA-Z0-9'-'.]+'.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9'-'._'?',''/'''+&%'$#'=~])*$