通常在Web開發(fā)中,經常會涉及到文件上傳。文件上傳時通常都要驗證文件的有效性,下面這個通常就要用正則表達式來判斷。
方法一:
$('input[type="file"]').on('change', function() {
var reg = /[^\\\/]*[\\\/]+/g; //匹配文件的名稱和后綴的正則表達式
var name = $(this).val().replace(reg, '');
var postfix = /\.[^\.]+/.exec(name);//獲取文件的后綴
var text =name.substr(0,postfix['index']);//獲取沒有后綴的名稱
// 檢測上傳文件
});
方法二:
以下只是個例子,變量file可以是任意類似于網絡路徑的字符串,這個例子是獲得name=file的對象傳過來的文件地址
復制代碼 代碼如下:
var file=jQuery("input[name='file']").val()
var filename=file.replace(/.*(\/|\\)/, "");
var fileExt=(/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : '';
filename得到文件名
fileExt得到后綴名
方法三:
網上能找到的正則表達式大多都沒有考慮中文文件夾和中文文件名的情況。
后來,自己動手寫了一個。在走過了不少歪路后,我根據windows的命名規(guī)則(文件名中不能包含下列字符:/ / * ? | " < >),終于完成了一個自認為比較完整的一個正則式:
復制代碼 代碼如下:
(([a-zA-Z]:)|(//))((//)[^///*/?/|/:"<>]{1,255})+/.(([j,J][p,P][g,G])|([g,G][i,I][f,F]))
這個表達式是判斷上傳文件類型為jpg或gif格式的。自己測試過的,無論文件夾和文件名是怎么樣命名的呢,只要能通過windows文件管理找到的,都能正確判斷哦。
本文來源于成都網站建設公司與成都網站設計制作公司-創(chuàng)新互聯成都公司!
當前文章:jQuery在獲取上傳文件的時候名稱的正則表達式
文章鏈接:http://www.rwnh.cn/news14/322564.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計、網站設計、小程序開發(fā)、網站內鏈、云服務器、自適應網站
廣告
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯