如何在HTML5中验证只允许'input type ="file"'JPG,GIF或PNG?

And*_*dré 29 regex html5

可能重复:
使用<input type ="file">时限制文件格式?

我需要使用HTML5 pattern属性仅允许<input type="file">元素中的JPG,GIF和PNG文件.

我目前有这种模式,但它不起作用:

<input type="file" class="input-file" id="tbinstUploadFile0" name="tbinstUploadFile0" placeholder="Please insert an image file..." pattern="([^\s]+(\.(?i)(jpg|png|gif|bmp))$)">
Run Code Online (Sandbox Code Playgroud)

这个正则表达式模式与HTML5不兼容?如何测试有效的HTML5正则表达式模式?

最好的祝福,

kir*_*nvj 52

尝试类似的东西

<input type="file" name="my-image" id="image" accept="image/gif, image/jpeg, image/png" />
Run Code Online (Sandbox Code Playgroud)

单击此处获取最新的浏览器兼容性表

现场演示在这里

要仅选择图像文件,您可以使用它 accept="image/*"

<input type="file" name="my-image" id="image" accept="image/*" />
Run Code Online (Sandbox Code Playgroud)

现场演示在这里

只显示gif,jpg和png,屏幕抓取来自Chrome 44版 只显示gif,jpg和png,屏幕抓取来自Chrome 44版

  • 仅适用于2013年底的Chrome. (2认同)
  • 如果我将 this(`accept="image/jpg, image/jpeg, image/png"`) 添加到 `input` 标签,它会显示 Firefox 中的所有文件类型,就好像我只保留 `accept="image /*"`,它的工作原理。我只希望用户选择`jpg、jpeg` 和`png` 格式。 (2认同)
  • @NurudinImsirovic首先在客户端(用例开始的地方),然后在服务器上。您在客户端所做的任何事情都可以绕开。您不需要控制台来选择所有文件,只需将自定义文件更改为上载文件对话框中的所有文件,即可显示所有文件。扩展名和mime类型验证必须在服务器端进行。 (2认同)