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