C# 对于文本框,我们可以进行文件路径验证吗?
我需要检查我在文本框中指定的路径是否正确 i、 e.表示建议我们发现您在文本框中输入的内容是否正确所需的验证 文本框中的路径验证我们可以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-
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";
这个答案应该是对相关答案的评论,而不是单独的答案。你的意思是语法上有效的,也就是说,有一个可以是文件的表单吗?或者你的意思是从存在开始有效,也就是说,因为文本框中的路径实际上存在?