C# 对于文本框,我们可以进行文件路径验证吗?

C# 对于文本框,我们可以进行文件路径验证吗?,c#,asp.net,visual-studio-2010,C#,Asp.net,Visual Studio 2010,我需要检查我在文本框中指定的路径是否正确 i、 e.表示建议我们发现您在文本框中输入的内容是否正确所需的验证 文本框中的路径验证我们可以 bool r=ValidFilePath(txtpayslipdftemplatePath.Text); bool r = ValidFilePath(txtPaySlipPDFTemplatePath.Text); private bool ValidFilePath(string path) { String pattern = @"^(([a-

我需要检查我在文本框中指定的路径是否正确

i、 e.表示建议我们发现您在文本框中输入的内容是否正确所需的验证

文本框中的路径验证我们可以

bool r=ValidFilePath(txtpayslipdftemplatePath.Text);
bool r = ValidFilePath(txtPaySlipPDFTemplatePath.Text);
private bool ValidFilePath(string path)
{  
   String pattern = @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$";    
   Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);    
   return reg.IsMatch(path);
}
私有布尔有效路径(字符串路径) { 字符串模式=@“^([a-zA-Z]\:)|(\\)(\\{1}|((\\{1})[^\\]([^/:*?”“|]*)+)$”; Regex reg=new Regex(模式,RegexOptions.Compiled | RegexOptions.IgnoreCase); 返回注册表IsMatch(路径); }
你所说的“正确路径”是什么意思?无论如何,您可以在页面中添加一个控件,在该控件的代码背后使用以下代码:

pathValidator.ServerValidate += (sender, args) =>
    {
        args.IsValid = Directory.Exists(myTextBox.Text);
    };

有效路径根据您使用的文件系统而变化。 类似的东西可以测试路径是否有效

public bool IsValidPath(String path, bool requiresFullPath = true)
{
    try
    {
        if(requiresFullPath && !path.Contains(":"))
            return false;

        Directory.GetLastAccessTime(path);
        return true;
    } catch (ArgumentException) { return false; }
}

正则表达式在路径中有两个斜杠的情况下不起作用,如下一个示例所示:

string Path = "\\\192.168.0.1\folder\folder2\folder3\\\file.pdf";

这个答案应该是对相关答案的评论,而不是单独的答案。你的意思是语法上有效的,也就是说,有一个可以是文件的表单吗?或者你的意思是从存在开始有效,也就是说,因为文本框中的路径实际上存在?