1. 程式人生 > >12.JavaScript字串方法

12.JavaScript字串方法

JS字串常用方法總結

動態方法:1、str.charAt(index);  返回子字串,index為字串下標,index取值範圍[0,str.length-1]
動態方法:2、str.charCodeAt(index);  返回子字串的unicode編碼,index取值範圍同上
靜態方法:3、String.fromCharCode(num1,num2,...,numN);  根據unicode編碼返回字串

【小應用】:只允許輸入數字檢測

    var str = $("input").val();
    
    
    if(detectNum(str))
    {
      alert("是數字");
    }
    
    function detectNum(str1)
    {
      var n = 0;
      for(var i=0;i<str1.length;i++)
      {
        n=str1.charCodeAt(i);
        if(n<48 || n>57)
        {
          return false;
        }
      }
      return true;
    }
4、str.indexOf(searchString,startIndex);  返回子字串第一次出現的位置,從startIndex開始查詢,找不到時返回-1
5、str.lastIndexOf(searchString,startIndex);  從由往左找子字串,找不到時返回-1
由於以上兩個方法只能返回1次,當需要將一段字串裡的所有searchString出現的位置都查找出來時,這樣做:

    var str = "........";
    var s = "妙味";
    var i = 0;
    
    for( ; str.indexOf(s,i) != -1 ; )
    {
      console.log(str.indexOf(s,i));
      i = str.indexOf(s,i) + s.length;
    }
6、字串之間的比較:比較第一個字元的unicode編碼值,第一個字元要是相同,就比較第二個,依次往下

  '10000' < '2'   1的unicode值比2的unicode值小  true

  '10000' > 2    轉成數字比較  true

7、擷取字串

  str.substring(start,end);  兩個引數都為正數,返回值:[start,end) 也就是說返回從start到end-1的字元

  str.slice(start,end);  兩個引數可正可負,負值代表從右擷取,返回值:[start,end) 也就是說返回從start到end-1的字元

  不建議用:str.substr(start,length);  start引數可正可負,負數代表從右擷取

  除了 slice() 和 substr() 方法裡的負值是代表從右擷取,其他方法裡的負值一律作為0處理

  【引申】:擷取陣列

  arr.slice(start,end);  兩個引數可正可負,負值代表從右擷取,返回值:[start,end) 也就是說返回從start到end-1的字元

  【小應用】:開關的寫法

    var onOff = true;
    
    $("button").click(function()
    {
      if()
      {
    
      }else{
    
      }
      onOff = !onOff;
    });
8、字串分割成陣列

  str.split(separator,limit);  引數1指定字串或正則,參照2指定陣列的最大長度

  例:str.split("");  每個字元都被分割  ['','','','']

    str.split();    整個字串放到數組裡  ['']

  【引申】:陣列變成字串

    arr.join(分隔符)      以,連線

    arr.join('')            無縫連線

    arr.join('-')          以-連線

    arr.join('<span>' + str + '</span>')       以表示式連線
9、str.replace(rgExp/substr,replaceText)   返回替換後的字串
10、str.match(rgExp);  正則匹配