[]:匹配該區間內人任意一個字符
^:匹配以某內容開頭的
$:匹配以模擬內容結尾的字符
\w:測試是英文字母,數字,下划線。
{}:設置區間,可出現幾次到幾次
該文學習和測試幾個正則的方法,測試結果如圖,不加多於描述,本文沒有什么實質性內容,只是用來測了測。
測試代碼:
<a href="javascript:prn_p1()">點擊獲取</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn_p1(){ var str1="a,ac,abc,afc,atc,att,asdwdaerrt,ddddsdad,dddse"; console.log(str1.match(/a[bf]c/g));//匹配a開頭,中間是b或f,最后是c的 console.log(str1.match(/a[a-z]*/g));//匹配a開頭,后面是任意數量(零或一個或多個)的任意小寫26個字母 console.log(str1.match(/[a-z]*a[a-z]*/g));//匹配惹任意數量(零或一個或多個)的任意26個小寫字母開頭,中間含有a,后面是任意數量(一個或多個)的任意小寫26個字母 console.log(str1.match(/[a-z]+/g));//匹配一個或多個的任意26個英文小寫字母,//匹配由26個小寫字母組成的 console.log("----分割線---開頭和結尾----"); var str2="a12d3,87g",str3="12a8d,add",str4="adf789gdaddguuh3d"; console.log(str2.match(/^a/g));//以a開頭,返回a console.log(str3.match(/^a/));//不是以a開頭,返回null console.log(str4.match(/^a[a-z0-9]*d$/g));//以a開頭,以d結尾,中間可以是任意數量的小寫英文字母或阿拉伯數字 console.log(str2.match(/^a[a-z0-9]*d$/g));//str2以a開頭,以g結尾,不符合返回null, console.log(str3.match(/^a[a-z0-9]*d$/g));//str3以12開頭,以d結尾,不符合返回null console.log("-----分割線---測試結尾---"); var str5="12dddsio",str6="12dddsio3",str7="12dddsio,"; //[a-z0-9]:26個英文小寫字母,和10個阿拉伯數字, console.log(str5.match(/^12[a-z0-9]*$/g));//以小寫英文字母結尾,符合 console.log(str6.match(/^12[a-z0-9]*$/g));//以數字結尾,符合 console.log(str7.match(/^12[a-z0-9]*$/g));//以逗號結尾,結尾不符合 console.log("-----------測試\w-----------"); var str8="a123-是_-d-的_,。,.!@#AD\";::¥%…?…&*()"; console.log(str8.match(/\w/g));//測試匹配到了英文字母,數字,下划線,沒有中間短線 var str9="a124_Ex",str10="b4dD-u_io",str11="b4dD是的u_io"; console.log(str9.match(/^\w+$/));//英文字母,數字,下划線組成的,符合 console.log(str10.match(/^\w+$/));//中間短線-,不符合 console.log(str11.match(/^\w+$/));//有漢字,不符合 console.log(str10.match(/^[\w-]+$/));//中間有短線,可以匹配上 console.log("------限定個數區間----"); console.log(str9.match(/^[\w-]{2,8}$/));//str9共7位,在區間內 console.log(str9.match(/^[\w-]{2,4}$/));//不再區間內,多於區間 }; </script>
圖示: