在网上找了各种方法,都没有很好的方法。于是自己写了一个,原理其实很简单
文件名不能包含下列任意字符:
/ : * ? " < > |
''' <summary> ''' 判断文件名是否合法 ''' </summary> ''' <param name="fileName">文件名(不包含路径)</param> ''' <returns><c>true</c> 文件名合法; 否则, <c>false</c>.</returns> Public Function IsValidFileName(ByVal fileName As String) As Boolean Dim regex = New System.Text.RegularExpressions.Regex("^[^/:*?""<>|]+$") Return regex.IsMatch(fileName) End Function
代码是不是很短啊。
有时候需要更严的要求,比如NX(NX10.0之前)不支持中文,我们就需要改一下了
下面这个文件名只能包括字母、数字、下横杠(_)、点(.)和横杠(-)
''' <summary> ''' 判断文件名是否合法 ''' </summary> ''' <param name="fileName">文件名(不包含路径)</param> ''' <returns><c>true</c> 文件名合法; 否则, <c>false</c>.</returns> Public Function IsValidFileName2(ByVal fileName As String) As Boolean Dim regex = New System.Text.RegularExpressions.Regex("^[A-Za-z0-9_.-]+$") Return regex.IsMatch(fileName) End Function