表达抓住单引号&在ASP.NET中使用ValidationExpression的特殊字符

时间:2014-05-13 16:28:17

标签: asp.net regex

我正在使用asp.net网页,在FileUpload控件中,我使用ValidationExpression来检测所选文件是否具有所需的图像扩展名。到目前为止它工作正常,但我很难在用户选择的文件名中检测单引号特殊字符,并使用相同的表达式。这个想法是禁止用户使用特殊字符。

目前的代码是

<asp:RegularExpressionValidator 
   runat="server" ID="ImageUpload_TypeValidation" 
   ControlToValidate="txt_CategoryPicture" Display="Dynamic" 
   ErrorMessage="Only files with extension JPG/JPEG/GIF/PNG/TIF/BMP are allowed."
   SetFocusOnError="true" ValidationGroup="AddNewCategory"
   ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.png|.PNG|.jpeg|.JPEG|.gif|.GIF|.tif|.TIF|.bmp|.BMP)$">
</asp:RegularExpressionValidator>

欣赏。

2 个答案:

答案 0 :(得分:0)

请检查并验证此正则表达式。

^.*[\w\s].*[a-zA-Z0-9_@.-]*[\w\s].*(.jpg|.JPG|.png|.PNG|.jpeg|.JPEG|.gif|.GIF|.tif|.TIF|.bmp|.BMP)$

答案 1 :(得分:0)

我选择使用Microsoft的GUID.NewGUID()内置函数为每个文件上传生成唯一文件名,并将图像文件转换为.png类型。这消除了我不希望用户拥有的任何特殊字符作为文件名。另一个好处是系统将始终获得唯一的文件名。

strUploadedFileName = Guid.NewGuid().ToString() & ".png"