1. 程式人生 > >web前端js基礎之js的幾種“擷取字串”方法

web前端js基礎之js的幾種“擷取字串”方法

<!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>