web前端js基礎之js的幾種“擷取字串”方法
阿新 • • 發佈:2018-12-18
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js的幾種擷取字串方法</title> </head> <body> <li>方法1:substr</li> <li>方法2:Substring</li> <li>方法3:slice</li> <li>方法4:charAt</li> </body> </html> <script> /// 1.stringObject.substr(start,length) // start :必填 子串的起始下標。必須是數值,如果是負值,-1 指字串中最後一個字元,-2 指倒數第二個字元,以此類推。 // length:可選 擷取字串的個數。必須是數值。如果省略了該引數,那麼返回從 stringObject 的開始位置到結尾的字串。 var lis = document.getElementsByTagName("li"); var str1 = "abcdefg"; //0 lis[0].innerHTML = str1.substr(0);//返回本身abcdefg //一個引數 lis[0].innerHTML = str1.substr(2);//返回擷取掉前面2個字串的值cdefg //2個負數 lis[0].innerHTML = str1.substr(-2,-1);//length不能為負數,若強行傳遞負數,就為0,相當於str1.substr(0,0) //2個正數 lis[0].innerHTML = str1.substr(3,5);///擷取第3個之後(不含3)的字元,擷取5個字元 defg //一負一正 lis[0].innerHTML = str1.substr(-2,2);//start為負數,-1 指字串中最後一個字元,返回擷取字串倒數2個字元,fg </script> <script> /// 2.stringObject.Substring(start,length) // start :必填 一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。 // length:可選 一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1,如果省略該引數,那麼返回的子串會一直到字串的結尾。 var lis = document.getElementsByTagName("li"); var str1 = "abcdefg"; //0 lis[1].innerHTML = str1.substring(0);//返回本身abcdefg //一個引數 lis[1].innerHTML = str1.substring(2);//擷取第二個之後所有的字元 cdefg //2個正數 lis[1].innerHTML = str1.substring(3,5);///擷取第3個之後(不含3)到第5+1(提取的子串的 stringObject 中的位置多 1)個之間的字元 de //2個負數 lis[1].innerHTML = str1.substring(-2,-1);//start、length不能為負數,若強行傳遞負數,就為0,相當於str1.substring(0,0) 值為""; //一負一正 lis[1].innerHTML = str1.substring(-2,2);//跟substring(0,2)一樣,返回ab //一正一負 lis[1].innerHTML = str1.substring(3,-5);///擷取第3個之後到第0個之間的字元 abc </script> <script> /// 3.stringObject.slice(start,end) // start :必需。規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。 // end:可選 規定從何處結束選取。該引數是陣列片斷結束處的陣列下標。如果省略該引數,那麼切分的陣列包含從 start 到陣列結束的所有元素。如果這個引數是負數,那麼它規定的是從陣列尾部開始算起的元素。 var lis = document.getElementsByTagName("li"); var str1 = "abcdefg"; //0 lis[2].innerHTML = str1.slice(0);//返回本身abcdefg //一個引數 lis[2].innerHTML = str1.slice(2);//擷取第二個之後所有的字元 cdefg //2個正數 lis[2].innerHTML = str1.slice(3,5);///擷取第3個之後(不含3)到第6個之間的字元 de //2個負數 lis[2].innerHTML = str1.slice(-2,-1);//start end -1 指最後一個元素,-2 指倒數第二個元素,以此類推。 f //一正一負 lis[2].innerHTML = str1.slice(1,-3);//擷取第1個(不含1)到 倒數第3個之間的字元 bcd </script> <script> // 4.charAt() 方法可返回指定位置的字元。 // stringObject.charAt(index) //index: 必需。表示字串中某個位置的數字,即字元在字串中的下標。 var lis = document.getElementsByTagName("li"); var str1 = "abcdefg"; lis[3].innerHTML = str1.charAt(2);//值擷取一個值 </script>