JavaScript擷取字串方式總結
應用中,經常會遇到擷取字串的需求。
實現此功能的方式有多種,JavaScript本身提供了這樣的方法,當然也可以通過自定義實現。
下面就對常用的方式做一下簡單介紹,需要的朋友可以進行一下參考。
一.substring方法:
此方法可以擷取介於指定索引之間的字元。
更多關於此方法內容參閱JavaScript substring()一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼stringObject.substring(start,stop)
引數解析:
(1).start:必需,非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。
(2).stop:可選,非負的整數,此數字位置的字元不包括在提取之內。如果省略該引數,返回的子串會一直到字串的結尾。
返回值是一個新生成的字串,內容是源字串中從start處到 stop-1處的子字串。
特別說明:
(1).返回的子串包括 start 處的字元,但不包括 end 處的字元。
(2).如果start 與 end相等,那麼該方法返回的就是一個空串(即長度為0的字串)。
(3).如果start比end大,那麼該方法在提取子串之前會先交換這兩個引數。
(4).如果start或end為負數,那麼它將被替換為 0。
(5).如果start值大於字串的最大索引,那麼返回值是空字串,也就是長度是0。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "softwhy.com"; console.log(str.substring(0)); console.log(str.substring(5)); console.log(str.substring(10)); console.log(str.substring(12)); console.log(str.substring(-5)); console.log(str.substring(-10)); console.log(str.substring(-12)); console.log(str.substring(0,5)); console.log(str.substring(0,10)); console.log(str.substring(0,12)); console.log(str.substring(2,0)); console.log(str.substring(2,2)); console.log(str.substring(2,5)); console.log(str.substring(2,12)); console.log(str.substring(2,-2)); console.log(str.substring(-1,5)); console.log(str.substring(-1,-5));
二.substr方法:
此方法可以從原來字串中返回從指定索引開始,指定長度的子字串。
當然返回值也是一個新的字串。
更多關於此方法內容參閱JavaScript substr()一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼stringObject.substr(start [, length ])
引數解析:
(1).start:必需,所需的子字串的起始位置。字串中的第一個字元的索引為0。
(2).length:可選,在返回的子字串中應包括的字元個數。
特別說明:
(1).如果 length 為 0 或負數,將返回一個空字串。
(2).如果沒有指定該引數,則子字串將延續到stringObject的最後。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "softwhy.com"; console.log(str.substr(0)); console.log(str.substr(2)); console.log(str.substr(3,4));
三.自定義方法:
自定義方法的方式有很多,下面分享一個比較好的程式碼:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "螞蟻部落的網址是softwhy.com"; function subString(str, len, hasDot){ var newLength=0; var newStr=""; var chineseRegex=/[^\x00-\xff]/g; var singleChar=''; var strLength=str.replace(chineseRegex,'**').length; for(var i=0;i < strLength;i++){ singleChar=str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null){ newLength+=2; } else{ newLength++; } if(newLength>len){ break; } newStr+=singleChar; } if(hasDot && strLength>len){ newStr+='...'; } return newStr; }; console.log(subString(str,24,true));
實現了擷取功能,並且功能很強大,能夠區分中英文,每一箇中文字元的長度為2,剩餘的字元用點表示。
相關閱讀:
(1).replace方法參閱JavaScript replace()一章節。
(2).charAt方法參閱JavaScript charAt()一章節。
(3).match方法參閱正規表示式 match()一章節。
相關文章
- MySQL 字串擷取相關函式總結MySql字串函式
- JavaScript 擷取指定指定區間字串JavaScript字串
- 字串擷取字串
- javascript擷取指定指定區間的字串JavaScript字串
- JavaScript 擷取字串JavaScript字串
- JS切割擷取字串方法總結JS字串
- PHP字串擷取PHP字串
- 對url字串中域名的三種擷取方式字串
- php字串擷取函式,支援中文擷取PHP字串函式
- MySQL 字串函式:字串擷取MySql字串函式
- Javascript之字串擷取函式slice()、substring()、substr()JavaScript字串函式
- javascript擷取指定長度字串相容中英文JavaScript字串
- php中英字串擷取PHP字串
- 檔案路徑類 字串的各種擷取方式,包括擷取到檔名字串
- jQuery字串擷取詳解jQuery字串
- iOS擷取NSString字串iOS字串
- Mysql字串擷取函式MySql字串函式
- iOS NSString字串擷取方法iOS字串
- shell 擷取變數的字串變數字串
- Python字串操作大總結,string替換、刪除、擷取、複製、連Python字串
- javascript擷取字串程式碼例項JavaScript字串
- javascript中字串常用操作總結JavaScript字串
- Shell中的字串擷取介紹字串
- php 擷取中英文混合字串PHP字串
- C#常用字串擷取C#字串
- shell 使用陣列及字串擷取陣列字串
- Swift 4.0 字串擷取,拼接,字串富文字顯示Swift字串
- javascript擷取指定長度字串後面加點程式碼例項JavaScript字串
- javascript實現的任意擷取字串中的子字串JavaScript字串
- JavaScript 擷取指定長度字串 區分漢字和英文字元JavaScript字串字元
- Linux下的字串擷取詳解Linux字串
- swift 字串學習 (index用法和擷取)Swift字串Index
- iOS擷取特定的字串(正則匹配)iOS字串
- php 如何擷取中文字串PHP字串
- Linux shell指令碼的字串擷取Linux指令碼字串
- JavaScript 擷取字串右邊指定長度字元JavaScript字串字元
- 1.Javascript擷取字串的兩個方法JavaScript字串
- sql常用函式詳解(一)——字串擷取SQL函式字串