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 = "
正則表示式語法
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 重新輸入