求一验证图片格式的正则,要求只能有 jpg png gif格式(有可能文件后缀为 Gif GIF等)
另外文件名中不能有 ?号 另外图片不会有 http://的头部/a/b.gif
b1.jpg
c我的图.png
都正确a.aspx?s=b.gif
http://www.x.com/a.gif 这种引用外站的也错这种就错误

解决方案 »

  1.   

    ^(?!http://)[^?]*?(\.[Jj][Pp][Gg]|\.[Gg][Ii][Ff]|\.[Jj][Pp][Ee][Gg]|\.[Pp][Nn][Gg])$
      

  2.   

                Regex re = new Regex(@"^(?!http://)[^?]*?(\.[Jj][Pp][Gg]|\.[Gg][Ii][Ff]|\.[Jj][Pp][Ee][Gg]|\.[Pp][Nn][Gg])$");
                Match m = re.Match("your img string");
                if (m.Success)
                {
                    Console.WriteLine("OK");
                }
                else
                {
                    Console.WriteLine("ERROR");
                }