Asp classic 希望从表单字符串Classic ASP中删除特殊字符

Asp classic 希望从表单字符串Classic ASP中删除特殊字符,asp-classic,Asp Classic,我使用的是经典ASP,从表单中提取用户名的值,并将其分配给局部变量。我想要一种方法来解析内容并删除特殊字符,如“,+,@,!,-等等 usrfname = Replace(Request.Form("FirstName"), "'", "") 我可以使用上面的示例删除',但我希望能够删除多个不同的字符,如上所述 最简单的方法是,您可以通过链替换来继续删除不需要的字符: usrfname = Replace(Request.Form("FirstName"), "'", "") usrfname

我使用的是经典ASP,从表单中提取用户名的值,并将其分配给局部变量。我想要一种方法来解析内容并删除特殊字符,如“,+,@,!,-等等

usrfname = Replace(Request.Form("FirstName"), "'", "")

我可以使用上面的示例删除',但我希望能够删除多个不同的字符,如上所述

最简单的方法是,您可以通过链替换来继续删除不需要的字符:

usrfname = Replace(Request.Form("FirstName"), "'", "")
usrfname = Replace(usrfname, "+", "")
usrfname = Replace(usrfname, "@", "")
等等

如果想要更优雅的解决方案,可以使用正则表达式对象。如果要除去字母数字字符以外的所有字符,请尝试:

Dim regEx
Set regEx = New RegExp
regEx.Pattern = "[^\w]"
regEx.Global = True
usrfname = regEx.Replace(Request.Form("FirstName"), "")

如果这不是您想要的,那么您可以更改正则表达式以满足您的确切要求。

最好使用正则表达式来清除不需要的字符。看:这似乎工作得很好。非常感谢你,我将继续使用它。除非你想激怒大部分用户,请不要禁止名称中使用连字符。我实际上刚刚考虑过这个例子,但感谢你提到它。我当然不想得罪任何人。