2012-06-19 46 views
22

可能重复:
Limit file format when using <input type=“file”>?如何验证HTML5只允许在'input type ='file''JPG,GIF或PNG?

我需要使用HTML5 pattern属性只允许JPG,GIF和PNG文件在<input type="file">元素。

我现在有这个模式,但它不工作:

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

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

最好的问候,

+2

在HTML5规范请参阅接受:http://dev.w3.org/html5/ spec/states-of-the-type-attribute.html#attr-input-accept – Qtax

回答

37

试着这么做

<input type="file" name="my-image" id="image" accept="image/gif, image/jpeg, image/png" /> 

点击here for the latest browser compatibility table

现场演示here

只选择图像文件,你可以使用这个accept="image/*"

<input type="file" name="my-image" id="image" accept="image/*" /> 

现场演示here

Only gif, jpg and png will be shown, screen grab from Chrome version 44 只支持GIF,JPG和PNG将显示,从Chrome版本屏幕抓取44

+0

它在Firefox 12中不受支持。感谢回复。 –

+2

只能在2013年底在Chrome中运行。 – Rudy

+1

如果我将这个('accept =“image/jpg,image/jpeg,image/png”')添加到'input'标签,它会向我显示Firefox中的所有文件类型,如果我只是保持'accept =“image/*”',它就可以工作。我只想让用户选择'jpg,jpeg'和'png'格式。 – sahil

相关问题