我一直在寻找一个简单的URL正则表达式,有没有人有一个方便的工作?我没有找到一个zend框架验证类,并看到了几个实现.
谢谢
我正在使用MVVM创建一个对话框,提示用户输入一个http:// URL到KML文件.当URL格式正确时,需要启用"确定"按钮,当URL格式不正确时,需要禁用该按钮.
现在按钮绑定到ICommand,CanExecute()的逻辑如下所示:
return !string.IsNullOrEmpty(CustomUrl);
Run Code Online (Sandbox Code Playgroud)
每次按键时都会引发命令的CanExecuteChanged事件,到目前为止它运行良好.
现在我想做一些实际的验证.我知道这样做的唯一方法如下:
try
{
var uri = new Uri(CustomUrl);
}
catch (UriFormatException)
{
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
这不是bueno,特别是因为每次击键都会进行验证.我可以这样做,以便在用户点击OK按钮时验证URI,但我宁愿不这样做.除了捕获异常之外,还有更好的方法来验证URI吗?