2012-06-19 26 views
22

thể trùng lặp:
Limit file format when using <input type=“file”>?Cách xác thực trong HTML5 để chỉ cho phép trong 'loại tệp đầu vào = "tệp"' JPG, GIF hoặc PNG?

tôi cần phải sử dụng thuộc tính HTML5 pattern để chỉ cho phép định dạng JPG, GIF và PNG trong một phần tử <input type="file">.

Tôi hiện đang có mô hình này, nhưng nó không làm việc:

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

mẫu regex này không tương thích với HTML5? Làm cách nào để thử nghiệm các mẫu regex HTML5 hợp lệ?

Best Regards,

+2

Xem chấp nhận trong HTML5 spec: http://dev.w3.org/html5/ spec/states-of-the-type-attribute.html # attr-input-accept – Qtax

Trả lời

37

Hãy thử một cái gì đó giống như

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

Bấm here for the latest browser compatibility table

sống bản demo here

Để chọn chỉ các file hình ảnh, bạn có thể sử dụng accept="image/*"

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

sống bản demo here

Only gif, jpg and png will be shown, screen grab from Chrome version 44 Chỉ gif, jpg và png sẽ được hiển thị, màn hình lấy từ phiên bản Chrome 44

+0

Nó không được hỗ trợ trong Firefox 12. Cảm ơn bạn đã trả lời. –

+2

chỉ hoạt động trong Chrome vào cuối năm 2013. – Rudy

+1

Nếu tôi thêm thẻ này ('accept =" image/jpg, image/jpeg, image/png "') vào thẻ 'input', nó hiển thị cho tôi tất cả các loại tệp trong Firefox, như thể tôi chỉ giữ 'accept =" image/* "', nó hoạt động. Tôi chỉ muốn người dùng chọn định dạng 'jpg, jpeg' và' png'. – sahil

Các vấn đề liên quan