【问题标题】:Regular Expression for filetype文件类型的正则表达式
【发布时间】:2014-08-31 11:17:15
【问题描述】:

我在我的文件上传中使用它来验证所有文件类型,但图像文件除外,例如(.jpg 或 .png)。 我该如何使用它们?

这是我的代码

allowTypes="/(\.|\/)(png)$/"

【问题讨论】:

  • 为什么不根据. 来检查split 并检查.equals("png")|"jpg")?。这不是更简单吗?
  • 更多上下文(Primefaces?)
  • 您的使用环境是什么?在 jsf 页面上还是在控制器中?看看这个:primefaces.org/showcase/ui/file/upload/single.xhtml
  • 只需使用String#endsWith(".png")

标签: java regex jsf file-upload


【解决方案1】:

如果您想检查任何类型的文件类型扩展名。试试这个

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

【讨论】:

    【解决方案2】:

    matches() 与不区分大小写的正则表达式一起使用:

    if (filename.matches("(?i).*\\.(jpg|png|gif|bmp)$"))
        // it's an image file
    

    术语(?i) 是一个开启不区分大小写的标志。

    根据需要添加其他扩展。

    正则表达式应该是可移植的,因此如果上下文实际上不是 java(我怀疑),您可能必须使用不区分大小写的选项来指定正则表达式:

    /.*\.(jpg|png|gif|bmp)$/i
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      相关资源
      最近更新 更多