有没有Server.FileNameEncode这样的东西?

时间:2011-08-30 09:51:55

标签: vbscript asp-classic

是否有这样的东西,只留下空格的数字,字母和下划线?

Server.URLEncode并不是我想要的。

1 个答案:

答案 0 :(得分:2)

没有像ASP中描述的集成功能 但你可以使用正则表达式。 可能如下:

Function FileNameEncode(ByVal strFileName)
    Dim oReg
    Set oReg = New RegExp
    oReg.IgnoreCase = True
    oReg.Global = True
    oReg.Pattern = "[^a-z\d\s.]+"
    FileNameEncode = Replace(oreg.Replace(strFileName, ""), " ", "_")
    Set oReg = Nothing
End Function

'FileNameEncode("letters é$- 123ÖÇ.bat") returns "letters__123.bat"

如果您传递没有扩展名的文件名作为参数,则可以从模式中删除点字符。