1. 程式人生 > >w的學習筆記05.(2019年1月11日)

w的學習筆記05.(2019年1月11日)

回顧
  陣列的方法
   join()  concat slice()  splice()    sort();   sort(compare);   push pop尾進 尾出---》彈夾       unshift shift-----》火車站購票
      二維陣列    遍歷--》巢狀迴圈   取最大值
      function compare(a,b){
    return a-b;
}


===========================================================================================================
1、關聯陣列 vs 索引陣列                                                  *****
    1:js 關聯陣列使用非常多[js一切都儲存關聯陣列]
    2:索引數下標自動生成,關聯陣列下手工自定義
    3:關聯陣列 length無效.
2、js 增強型的for型                                                      *****
    for(var key in stu){
        console.log(key);//name age chs
        console.log(stu[key]);
    }
3、字串API:js提供常用方法                                             *****
    #字串API,所有API都無法修改原字串內容,
     都會返回新字串

    1:大小寫轉換
      str.toUpperCase(); 將str變數中所有字母轉換大寫
      str.toLowerCase(); 將str變數中所有字母轉換小寫
      何時使用:乎略大小寫
    2:獲取指定位置字元
      var str = "abc123";
      //         012345
      var rs = str[2];
      rs = str.charAt(0);
      獲得指定位置字元的unicode號
      rs = str.charCodeAt(0); //97
      將unicode數值轉字元
      rs = String.fromCharCode(97);
      rs['a'];
    3、檢索敏感詞位置
         var i = str.indexOf(敏感詞,[搜尋開始位置]);
         i !=-1 找到敏感詞
         -1     沒有敏感詞..
         #搜尋開始位置 預設從0開始

         var str = "我今天吃了一個土豆";
         var i = str.indexOf("土豆");
         if(i != -1){
          console.log("您所發表言論,包含敏感詞,不允許發表");
         }

         lastIndexOf("敏感詞"[,formIndex]);
         #搜尋最後一個配置敏感詞位置

         #獲取子字串
         str.slice(開始位置,結束位置+1);   支援負數
         str.substring(開始位置,結束位置+1);不支援負數
         str.substr(開始位置[,個數]);
         如果沒有個數擷取結尾
4、 正則表示式                                                           ****

    String中支援正則的API


    1:正則表示式:一組特殊字元規則
      何時使用:查詢 驗證 替換 切割     
      模糊查詢,驗證字串格式,按照一定規律切割字串

      var qq = "12341234567";
      1:string:獲取每一個字元
      2:判斷是否是數字
      3:長度 length >= 5 length <= 12

      var email = "

[email protected]";
    

    正則表示式語法
       1:最簡單正則:關鍵字正文
       2:備選字符集:字串中某一位上可選的字元的集合
         [備選字符集]   "ASJKJNHKAJKSFD455454"
         #一個備選字符集,只能規定一位字元
         #如果備選字元連續的,用-省略中間字元
         #表示除某些字元以外,所有字元均可 ^除了
        3:預定義字符集,對常用字符集簡寫方式
         \d   [0-9]          匹配一位數字
         \w   [0-9a-zA-Z_]   匹配一位 數字,字母 下劃線
         \s                  匹配一位 空字元 空格 tab 回車換行
         .                   匹配一位 除了回車換行以外任意字元

         小結:
         1:預定義字符集語法簡單,規則固定不可變!
           \d
         2:備選字符集,規則完成自定義,靈活,語法繁瑣
           [5-9]


作業1
  var msg="別理我,我想靜靜"+"靜靜是誰";  替換**      replace("靜靜",**)
作業2
    var msg="no zuo no die no can no bibi";     敏感詞no     /no/     輸出  敏感詞位置
作業3
  // 1 建立正則表示式嚴格匹配  字母+數字  6-8     /^[a-z0-9]{6,8}$/
     
  //2 請使用者輸入使用者名稱

  //3 test()==false  重新輸入