当前位置:编程学习 > C#/ASP.NET >>

正则表达式验证文件后缀名

业务需要:我想验证上传控件fileupLoad的里上传文件的格式是否是图片格式~~
--------------------编程问答-------------------- [.](jpg|gif|bmg)$

先jpg,gif,bmg的,如果有其它类型,自己加 --------------------编程问答-------------------- jpg|bmp|... --------------------编程问答-------------------- \.(jpg|jpeg|bmp)$ --------------------编程问答-------------------- 自己看看正则就知道怎么写了 又不难的东西 虽然精通也不容易 --------------------编程问答-------------------- 以下为常用后缀,如果还允许png,ico等等,加个“|”之后加进()内就行了

^.*?\.(jpg|jpeg|bmp|gif)$ --------------------编程问答-------------------- ^.*?\.(jpg|jpeg|bmp|gif)$  
推荐下
--------------------编程问答-------------------- 不好意思我想大家没弄清题意~我要求的是不仅后缀名前面的部分也要验证~如D:\dd\aa.jpg或
D:\dd\cc\aa.jpg --------------------编程问答-------------------- string filename=this.file1.PostedFile.FileName;            
                        //定义正则表达式
                        Regex reg = new Regex(@"^.+\.(jpg)|(gif)|(swf)|(jpeg)$");
                        //用正则表达式来判定
                        if(!reg.Match(filename.ToLower()).Success)
                        {                    base.Alert("上传的文件类型不符合要求!");    }
                        //获取上传文件的名称
                        string name = DateTime.Now.ToString("yyyyMMddhhmmss")+filename.Substring(filename.LastIndexOf("\\")+1);
                        //要上传的服务器地址
                        string path=Server.MapPath(string.Format("~/AdFiles/"))+name;
                        try
                        {                            this.file1.PostedFile.SaveAs(path);
                        }
                        catch(Exception ee)
                        {                      base.Alert("图片上传失败,请与服务器空间商联系确认权限!");
                        } --------------------编程问答-------------------- http://www.cnblogs.com/ustbwuyi/archive/2007/01/30/634934.html --------------------编程问答-------------------- 不好意思我想大家没弄清题意~我要求的是不仅后缀名前面的部分也要验证~如D:\dd\aa.jpg或
D:\dd\cc\aa.jpg
----------
什么意思? --------------------编程问答-------------------- 那这样

^[a-zA-Z]:\\(\w+\\)*\w+\.(jpg|jpeg|bmp|gif)$ --------------------编程问答-------------------- 楼上的通过了~但我不知为什么发现了一个BUG
大家可以去试试
就是放一个fileUpload控件,在放一个验证控件验证代码如下(就是验证图片)
^[a-zA-Z]:\\(\w+\\)*\w+\.(jpg|jpeg|bmp|gif)$
如果你点上传控件的浏览按钮选择一个非图片格式的文件验证控件马上提示你格式不正确点Button也无法上传(这是正确的流程)好但如果你选的是上传控件的浏览图片格式文件验证控件没有提示证明是正确的,但你点button上传会触发服务器的按钮事件~但同时验证又会提示你图片格式不正确这是怎么回事~~我先头考虑到可能是点上传后fileUpload控件里的内容清空了~可我发现验证控件是不会验证空的~~那到底是怎么回事~~
大家可以去试试 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 学习贴。 --------------------编程问答-------------------- lucas623() ( ) 信誉:100    Blog  2007-3-21 11:09:21  得分: 0  
 
 
   
楼上的通过了~但我不知为什么发现了一个BUG
大家可以去试试
就是放一个fileUpload控件,在放一个验证控件验证代码如下(就是验证图片)
^[a-zA-Z]:\\(\w+\\)*\w+\.(jpg|jpeg|bmp|gif)$
如果你点上传控件的浏览按钮选择一个非图片格式的文件验证控件马上提示你格式不正确点Button也无法上传(这是正确的流程)好但如果你选的是上传控件的浏览图片格式文件验证控件没有提示证明是正确的,但你点button上传会触发服务器的按钮事件~但同时验证又会提示你图片格式不正确这是怎么回事~~我先头考虑到可能是点上传后fileUpload控件里的内容清空了~可我发现验证控件是不会验证空的~~那到底是怎么回事~~
大家可以去试试

  
我也发现了。。。在vs2005下好像不能在客户端进行后缀名验证,我只好在服务器端验证了

PS:我从微软中国的网站上copy了一段代码,也是同样问题
--------------------编程问答-------------------- 楼上的通过了~但我不知为什么发现了一个BUG 
大家可以去试试 
就是放一个fileUpload控件,在放一个验证控件验证代码如下(就是验证图片) 
^[a-zA-Z]:\\(\w+\\)*\w+\.(jpg ¦jpeg ¦bmp ¦gif)$ 
如果你点上传控件的浏览按钮选择一个非图片格式的文件验证控件马上提示你格式不正确点Button也无法上传(这是正确的流程)好但如果你选的是上传控件的浏览图片格式文件验证控件没有提示证明是正确的,但你点button上传会触发服务器的按钮事件~但同时验证又会提示你图片格式不正确这是怎么回事~~我先头考虑到可能是点上传后fileUpload控件里的内容清空了~可我发现验证控件是不会验证空的~~那到底是怎么回事~~ 
大家可以去试试 

是的,我也遇到过同样的问题,难道除了写代码验证外就没有其它的验证方法了吗》? --------------------编程问答-------------------- 上面说什么东西??不太清楚。。但如果你选的是上传控件的浏览图片格式文件验证控件没有提示证明是正确的。。。?????算了我先试试看代码。 --------------------编程问答--------------------  Regex reg = new Regex(@"^[a-zA-Z]:\\(\w+\\)*\w+\.[jpg|jpeg|bmp|gif]");不知道为什么后面$要去掉才行。。高人指点下。 --------------------编程问答--------------------        Regex reg = new Regex(@"^[a-zA-Z]:\\(\w+\\)*\w+\.(jpg)|(gif)|(bmg)$");
        //用正则表达式来判定 
        if (!reg.Match(filename.ToLower()).Success)
        { Response.Write("<script>alert('上传的文件类型不符合要求!')</script>"); return; } --------------------编程问答--------------------

\.(jpg |jpeg |bmp)$
表示必须以 jpg或 jpeg 或 bmp 结束 --------------------编程问答-------------------- jpg/jpeg/gif/bmp
最常用的吧 --------------------编程问答-------------------- [img=http://1][/img] --------------------编程问答-------------------- 五楼的不错,是正确的,太谢谢五楼的兄弟了! --------------------编程问答--------------------
引用 17 楼 ju897d 的回复:
上面说什么东西??不太清楚。。但如果你选的是上传控件的浏览图片格式文件验证控件没有提示证明是正确的。。。?????算了我先试试看代码。

楼主的句子太复杂,连标点都没有,偶也看不懂,服了。。。。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,