web學習記錄-JS-9
正則表示式
用於定義一些字串的規則,計算機可以用來檢查一個字串是否符合規則;將字串中符合規則的內容提取出來;
建立正則表示式的物件 var 變數 = new RegExp(“正則表示式”,“匹配模式”);使用typeof檢查會返回object;
方法 test();符合返回true;反之則返回false;
var result = str.reg(“a”)
可傳遞一個匹配模式作為第二個引數;I ,忽略大小寫;g,全域性匹配模式;
使用字面量建立正則表示式; var 變數 = /正則表示式/匹配模式;
建立一個正則表示式,檢查字串有a或b var reg = /a|b/; var reg = /[ab]/; var reg = /[a-z]/,任意的小寫字母; [A-Z], 任意大寫字母;[A-z],任意字母;
檢查一個字串是否含有abc aec afc reg=/a[bdc]c/
[^ ]除了中括號的內容;
split() 將字串拆分為陣列;不設定全域性也會全拆;
根據任意字元將字串拆分 方法中可傳遞一個正則表示式作為引數; str.split(/[A-z]/);
search() 可以搜尋字串是否含有自定內容;即時設定全域性匹配,也只會查詢第一個;
有則返回第一次出現索引,沒有則返回-1,可接受正則表示式作為引數,去檢索字串; srt.seach(/a[bef]b/);
match() 可根據正則表示式,從字串中將符合條件的內容提取出來; str.match(/[A-z]/);
預設只找到第一個符合要求就停止,可設定為全域性匹配模式,則會匹配所有符合條件的內容,可為一個正則表示式設定多個匹配模式;
會將匹配到的內容封裝到一個數組中返回,即時只有一個結果;
replace()可將字串中的指定內容替換為新內容;需兩個引數,1,被替換的內容,2,新的內容;
預設只會替換第一個; str.replace(/[a-z]/ig,“”)可設正則表示式為全域性變數;
量詞 可以設定一個內容的次數; var reg = /a{次數}/;只對前面的一個內容起作用;可以小括號圈起內容;
reg = /b{1,3}/;出現1-3次都可以;
reg = /b{1,}/;出現1次以上; +,相當於{1,}至少一個;*,相當於{0,}有沒有都行;?,相當於{0,1}沒有或只有1個;
reg = /^a/;表示開頭; reg=/a$/;表示結尾;如果同時使用,表示表示式得完全符合正則表示式;
var reg= /./; . 表示任意字元;用\.表示字元. ; 用\\表示\符號;
注意: 使用建構函式時,由於引數是一個字串,而\是字串中的轉義字元,如果使用\則用\\來代替;
\w 任意字母,數字,_
\W 除了字母,數字,_
\d 任意數字;
\D 除了任意數字;
\s 空格;
\S 除了空格;
\b 單詞邊界;
\B 除了單詞邊界;
str = str.replace(/^\s*|\s$/g,"");//去除開頭結尾的空格;
電子郵箱的正則表示式
任意字母數字下劃線 .任意字母下劃線@任意字母數字.任意字母(2-5位).任意字母(2-5位)
^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$
DOM Document Object Model 文件物件模型。
節點 文件節點 #document 9 null
元素節點 標籤名 1 null
屬性節點 屬性名 2 null
文字節點 #text 3 文字內容
瀏覽器的已經為我們天宮文件節點物件,這個物件是window屬性可以在網頁直接使用,文件節點代表的是整個網頁
<button id="btn">我是一個按鈕</button>
獲取button物件
var btn = document.getElementById("btn");
修改按鈕的文字
btn.innerHTML = "修改內容”;
事件 使用者與瀏覽器的互動行為,點選,滑鼠移動,關閉視窗等;
我們可以在事件對應的屬性中設定一些JS程式碼;事件觸發時,執行JS程式碼;(不推薦)
可以為按鈕的對應事件繫結處理函式的形式來相應事件;
獲取按鈕物件 var btn = document.getElementById("btn");
繫結一個單擊事件 btn.onclick = function(){ alert("點選按鈕後"); };
文件的載入
瀏覽器載入一個頁面時,按照自上向下的順序載入的,讀取一行執行一行,如果寫到script標籤寫到頁面上邊,在程式碼執行時,頁面還沒有載入;
onload事件會在整個頁面載入完成之後才觸發,繫結在window.onload = function(){ };會在頁面載入完成後執行,可以確保程式碼執行時DOM物件已經載入完畢;
方法
獲取元素節點 通過document物件呼叫;
1,getElementById() 通過ID屬性獲取一個元素節點物件;
2,getElementsByTagName()通過標籤名獲取一組元素節點物件;
3,getElementsByName() 通過name屬性獲取一組元素節點物件;