C# 无正则表达式验证文件夹名称格式和长度 - 系统命名规范
C# 无正则表达式验证文件夹名称格式和长度 - 系统命名规范
本文提供一个 C# 代码示例,用于判断自定义文件夹名称是否符合系统命名规范,长度是否不超过 20 个字节,并且不使用正则表达式。
public static bool ValidateFolderName(string folderName)
{
if (folderName.Length > 20)
{
return false;
}
char[] invalidChars = Path.GetInvalidFileNameChars();
foreach (char invalidChar in invalidChars)
{
if (folderName.Contains(invalidChar.ToString()))
{
return false;
}
}
string[] reservedNames = { 'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9' };
foreach (string reservedName in reservedNames)
{
if (folderName.Equals(reservedName, StringComparison.OrdinalIgnoreCase))
{
return false;
}
}
return true;
}
这个方法接受一个文件夹名称作为参数。它首先检查长度是否超过 20 个字节。如果是,则返回 false。接下来,它使用 Path.GetInvalidFileNameChars() 方法获取系统无法接受的文件名字符的数组,然后遍历数组,检查文件夹名称中是否包含任何无效字符。如果是,则返回 false。最后,它检查文件夹名称是否等于保留名称(例如 'CON' 或 'LPT1')。如果是,则返回 false。如果文件夹名称通过所有这些检查,则返回 true。
希望这能帮到您!
原文地址: https://www.cveoy.top/t/topic/lkaF 著作权归作者所有。请勿转载和采集!