RegularExpressionValidator错误消息

时间:2013-05-16 11:11:15

标签: asp.net regex validation file-upload

我正在尝试将文件类型检查添加到文件上传表单:

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:RegularExpressionValidator id="FileUpLoadValidator" runat="server" ErrorMessage="Upload .doc, .pdf or .xls files only." ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.xls|.XLS|.pdf|.PDF|.doc|.DOC)$" ControlToValidate="FileUpload1"> </asp:RegularExpressionValidator>

在添加RegularExpressionValidator之前,可以上传任何文件类型。

添加后,仍可以上传任何文件类型。

谁能告诉我我错过了什么?

2 个答案:

答案 0 :(得分:1)

尝试使用此逻辑

^.*\.(jpg|JPG|gif|GIF|doc|DOC|pdf|PDF)$

您正在使用dotdot is a special character。 有tool用于检查您的Regular Expression。 您也可以添加其他文件Extension

试试这个

^([a-zA-Z].*|[1-9].*)\.(((p|P)(d|D)(f|F))|((d|D)(o|O)(c|C)))$

代码背后

为此,您需要Button并且在其OnClick事件上,您必须首先检查extension1文件

if (FileUpload1.HasFile)
{
            // Get the name of the file to upload.
            string fileName = Server.HtmlEncode(FileUpload1.FileName);
            // Get the extension of the uploaded file.
            string extension = System.IO.Path.GetExtension(fileName);
            // Allow only files with .doc or .xls or .pdf extensions
            // to be uploaded.
            if ((extension == ".pdf") || (extension == ".xls") || (extension == ".doc"))
            {
            //upload accordingly
            }
            else 
            {
             // Show message
            }
}

希望它有效

答案 1 :(得分:0)

尝试其中任何一种。

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                    ErrorMessage="Only JPG/jpg file allowed!" 
                    ControlToValidate="ctlFileUpload" 
                    ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w](.)*))+(\.jpg|\.JPG)$" 
                    Width="510px" CssClass="Validator"></asp:RegularExpressionValidator>

// -----或

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                    ErrorMessage="Only JPG/jpg file allowed!" 
                    ControlToValidate="ctlFileUpload" 
                    ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.JPG)$" 
                    Width="510px" CssClass="Validator"></asp:RegularExpressionValidator>

// -------或

<asp:RegularExpressionValidator ID="imgValidator" runat="server" ControlToValidate="imgUpload"
                ErrorMessage="*JPG/JPEG/GIF files only" ValidationExpression="^.+\.(([jJ][pP][eE]?[gG])|([gG][iI][fF]))$" />

或尝试此操作以允许用户上传txt文件

<asp:RegularExpressionValidator ID="FileUpLoadValidator" runat="server" ErrorMessage="Only text files!"
                ValidationExpression=".*(\.txt|\.TXT)$" ControlToValidate="FileUpload1" Display="None">
相关问题