JavaScript 擷取指定指定區間字串

admin發表於2019-11-19

本章節介紹一下如何利用原生的JavaScript實現擷取指定區間字串功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function getCustomLengtStr(strString, intStart, intEnd) {
  if(strString != undefined && strString != "" && strString != null) {
    var Clen = strString.toString().length - 1;
    if (Number(intEnd) <= Clen) {
      if (intStart < 0){
        intStart = 0;
      } 
      else if (intStart > Clen) {
        intStart = Clen;
      }
      return strString.toString().substring(intStart, intEnd);
    } 
    else {
      //長度越界,返回原始資料
      return strString;
    }
  } 
  else{
    return "";
  }
}
var str="antzonesoftwhy.com";
console.log(getCustomLengtStr(str,2,6));

上述程式碼能夠擷取原來字串中指定索引區間的字串。

一.程式碼註釋:

[JavaScript] 純文字檢視 複製程式碼
function getCustomLengtStr(strString, intStart, intEnd) {
  // code
}

第一個引數是原始字串,第二個引數規定開始擷取的索引位置,第三個引數是結束擷取的索引位置。

[JavaScript] 純文字檢視 複製程式碼
if(strString != undefined && strString != "" && strString != null)

對第一個引數進行相關的判斷,比如是否傳遞,或者是否是一個空字串。

[JavaScript] 純文字檢視 複製程式碼
var Clen = strString.toString().length - 1

獲取字串的最大索引值。

[JavaScript] 純文字檢視 複製程式碼
if (Number(intEnd) <= Clen)

如果結束索引值小於等於字串最大的索引值。

[JavaScript] 純文字檢視 複製程式碼
if (intStart < 0){
  intStart = 0;
}

如果開始擷取的索引小於0,那麼將索引值設定為0。

[JavaScript] 純文字檢視 複製程式碼
else if (intStart > Clen) {
  intStart = Clen;
}

如果開始擷取的索引值大於最大索引值,那麼將其設定為字串最大索引值。

[JavaScript] 純文字檢視 複製程式碼
return strString.toString().substring(intStart, intEnd),

使用substring()方法進行擷取字串。

[JavaScript] 純文字檢視 複製程式碼
else {
  //長度越界,返回原始資料
  return strString;
}

如果開始擷取的索引越界,那麼就返回原來的字串。

[JavaScript] 純文字檢視 複製程式碼
else{
  return "";
}

如果傳遞的第一個引數不滿足指定條件,直接返回空字串。

二.相關閱讀:

(1).Number()方法參閱JavaScript Number()一章節。

(2).substring()方法參閱JavaScript substring()一章節。

相關文章