jQuery在獲取上傳文件的時(shí)候名稱的正則表達(dá)式

2024-04-07    分類: 網(wǎng)站建設(shè)

通常在Web開發(fā)中,經(jīng)常會(huì)涉及到文件上傳。文件上傳時(shí)通常都要驗(yàn)證文件的有效性,下面這個(gè)通常就要用正則表達(dá)式來判斷。 方法一:

$('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']);//獲取沒有后綴的名稱 // 檢測(cè)上傳文件 }); 方法二:

以下只是個(gè)例子,變量file可以是任意類似于網(wǎng)絡(luò)路徑的字符串,這個(gè)例子是獲得name=file的對(duì)象傳過來的文件地址

復(fù)制代碼 代碼如下:

var file=jQuery("input[name='file']").val() var filename=file.replace(/.*(\/|\\)/, ""); var fileExt=(/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : ''; filename得到文件名

fileExt得到后綴名

方法三:

網(wǎng)上能找到的正則表達(dá)式大多都沒有考慮中文文件夾和中文文件名的情況。

后來,自己動(dòng)手寫了一個(gè)。在走過了不少歪路后,我根據(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è)試過的,無論文件夾和文件名是怎么樣命名的呢,只要能通過windows文件管理找到的,都能正確判斷哦。

本文來源于成都網(wǎng)站建設(shè)公司與成都網(wǎng)站設(shè)計(jì)制作公司-創(chuàng)新互聯(lián)成都公司!

當(dāng)前文章:jQuery在獲取上傳文件的時(shí)候名稱的正則表達(dá)式
文章鏈接:http://www.muchs.cn/news14/322564.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、小程序開發(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í)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)