溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS怎么通過截取子串的方法獲取文件擴展名

發(fā)布時間:2021-08-17 17:32:03 來源:億速云 閱讀:126 作者:chen 欄目:web開發(fā)

本篇內容介紹了“JS怎么通過截取子串的方法獲取文件擴展名”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

本文的主題是介紹一下按照指定長度截取字符串的方法,然后利用這種方法看看如何獲取文件的擴展名。

首先我們來看看要如何截取指定長度的子串并返回呢?下面給大家具體介紹一下。

我們來看看一個例子:

var str="Hello world!";
var n=str.substr(2,3)
console.log(n);

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

可以看出:我們使用str.substr(2,3)從第三字符開始,截取了3個字符,因此返回的子串為“llo”。

我們來了解一下substr()方法。

str.substr(start,length)方法能夠根據指定長度來截取子字符串。它包含兩個參數,第一個參數start不可省略,表示準備截取的子字符串起始下標;第二個參數length可省略,表示截取的長度,即需要截取的字符數。

如果省略第二個參數length,那么就會從start開始,截取后面全部的字符。

var str="Hello world!";
var n=str.substr(2)
console.log(n);

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

如果如果第一個參數start為負值,則表示從字符串的尾部開始計算下標位置,即 -1表示最后一個字符,-2 表示倒數第二個字符,以此類推。(這對于左側字符長度不固定時非常有用。)

var str="Hello world!";
var n1=str.substr(-1,1);
var n2=str.substr(-2,1);
var n3=str.substr(-3,2);
console.log(n1);
console.log(n2);
console.log(n3);

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

通過上文,我們知道可以使用substr()方法來截取指定長度子串,并返回該子串。下面我們來看看利用這種方法怎樣來獲取文件擴展名。

我們可以使用substr()和lastIndexOf()方法獲取文件的擴展名,例如有下面一個文件url

../img/1.png

使用下面語句就可獲取文件的擴展名:

var str="../img/1.png";
var b = str.substr(str.lastIndexOf(".") ,4);  //截取最后一個點號開始4個字符
console.log(b);  //返回子字符串“.png”

分析:使用str.lastIndexOf(".")可以獲取字符“.”最后一次的出現(xiàn)位置,然后將其作為substr()方法的第一個參數,指定截取字符串的開始位置。因為擴展名“.png”有四個字符,因此設置substr()方法的第二個參數為4即可。

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

如果只想獲取到“png”,那么可以在 str.lastIndexOf(".")的基礎上加1:

var str="../img/1.png";
var b = str.substr(str.lastIndexOf(".")+1 ,3);  //截取最后一個點號后3個字符
console.log(b);  //返回子字符串“png”

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

這是知道擴展名的長度,但有時 擴展名的長度是不固定的,那么我們就可以省略substr()方法的第二個參數,直接獲取字符“.”后全部字符即可:

var str="../img/1.png";
var b = str.substr(str.lastIndexOf(".")+1 );  
console.log(b);
  
var str="../img/1.jpeg";
var b = str.substr(str.lastIndexOf(".")+1 );  
console.log(b);

輸出結果:

JS怎么通過截取子串的方法獲取文件擴展名

“JS怎么通過截取子串的方法獲取文件擴展名”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI