什么是正則表達式?
正則表達式在不同編程語言中都存在,通常用于被檢索、驗證符合某一規則的文本。
比如,注冊賬號時,要求密碼長度要超過8位,只能包括英文大小寫和數字。這時就需要設置一個規則進行合法性檢驗。
正則表達式由普通字符、元字符和量詞組成。普通字符包括大小寫字母與數字,元字符是具有特殊含義的字符,量詞用來確定匹配字符的次數。
檢測合法QQ號
常見元字符:

練習1:

練習2:

常見量詞:


test方法:


let reg = /^[0-9]{5,11}$/;
if(reg.test(prompt("請輸入QQ號:")))
alert("格式正確");
else
alert("格式錯誤");
onblur事件
常見元字符:


onblur事件:當對象失去焦點時發生。
例如,在用戶名和密碼輸入框輸入內容,光標離開輸入框自動檢測用戶名或密碼是否合法。
<label for="nickname">昵稱</label>
<input type="text" name="nickname" id="nickname">
<script>
let nickname = document.getElementById("nickname");
nickname.onblur = function(){
let reg = /^\w{2,5}$/;
if(reg.test(nickname.value))
alert("當前昵稱可用");
else
alert("昵稱不符合命名規范");
}
</script>
search和match
常見元字符:



常見量詞:

search()方法:用于檢索字符串中指定的子串,或檢索與正則表達式匹配的子串。結果返回第一個匹配到子串的起始位置,如果沒有找到返回-1。標志i忽略大小寫。
let str = "abchello world.defhillo World.";
// let reg = /h[i|e]llo/;
let reg = /World/i;
let res = str.search(reg);
console.log(res);
match()方法:可以檢索到多個匹配結果。g全局匹配,gi全局忽略大小寫匹配。
let str = "abchello world.defhillo World.";
let reg = /h[i|e]llo/g;
// let reg = /World/gi;
let res = str.match(reg);
console.log(res);
