XMLHttpRequest的相關屬性介紹
阿新 • • 發佈:2021-10-22
什麼是正則表示式?
是構成搜尋模式的字元序列。
該搜尋模式可用於文字搜尋和文字替換操作。
一、元字元
\d | 0-9任意一個數字 |
[] | 方括號之間的任意一個字元 |
[^] | 非其中的任意一個字元 |
\w | 數字、字母、下劃線 |
. | 除換行符外的任意一個字元 |
| | 或(多用於月份) |
? | 0-1次 |
+ | 1-多次 |
* | 0-多次 |
{,} | 最少,最多 |
^ | 開始(用於表單頁面) |
$ | 結束(用於表單頁面) |
二、常見的正則表示式方法
1、手機號驗證的正則表示式
(一般手機號以1開頭有十一位)
^1[0-9]{10}$
1 // 手機號 2 var txt="13559123478";3 var reg=/^1[0-9]{10}$/; 4 console.log(reg.test(txt));
(驗證比較精確的表示式)
^1[3|4|5|7|8][0-9]{9}$
1 var txt="13559123478"; 2 var reg=/^1[3][0-9]{9}$/; 3 console.log(reg.test(txt));
2、郵箱正則表示式
(1)、只允許英文字母、數字、下劃線、英文句號以及中劃線
分析郵件名稱部分:
- 26個大小寫字母表現為a-z A-Z
- 數字表示為0-9
- 下劃線表示為_
- 中劃線表示為-
郵件表示式為:[a-zA-Z0-9_-]+
分析域名部分:12-34.com.cn
- 域名類似 "##.##.##.##"組成
- ##部分可以表示為 [a-zA-Z0-9_-]+
- ".##"部分可以表示為 \.[a-zA-Z0-9_-]+
- 多個".##"部分可以表示為 (\.[a-zA-Z0-9_-]+)+
域名部分可以表示為:[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
最終表示式為:“^”匹配郵箱的開頭 “$匹配郵箱的結尾”
:: ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
(2)名稱允許漢字、字母、數字,域名只允許英文域名
::^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
3、漢字正則表示式
::[\u4e00-\u9fa5]
// 中文 var txt="你"; var reg=/[\u4e00-\u9fa5]/; // \u4e00-\u9fa5 // \u4e00-\u4e00 console.log(reg.test(txt));
4、年月日正則表示式
1 ^((([0-9]{2})(0[48]|[2468][048]|[13579][26])) #閏年,能被4整除但不能被100整除 2 |((0[48]|[2468][048]|[13579][26])00) #閏年,能被400整除 3 -02-29) #匹配閏年2月29日這一天。如果不是這一天,則由下面式子繼續匹配驗證。 4 |([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}) #平年(0001-9999) 5 -(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])) #月日,1、3、5、7、8、10、12月有31天 6 |((0[469]|11)-(0[1-9]|[12][0-9]|30)) #月日,4、6、9、11月有30天 7 |(02-(0[1-9]|[1][0-9]|2[0-8]))) #平年2月只有28天,月日表示為【02-01至02-28】
5、密碼驗證
1 /** 2 * 密碼至少包含 數字和英文,長度6-20 3 */ 4 String reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$"; 5 6 /** 7 * 密碼包含 數字,英文,字元中的兩種以上,長度6-20 8 */ 9 String reg = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,20}$"; 10 11 /** 12 * 至少包含數字跟字母,可以有字元 13 */ 14 String reg = "(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-*/+.~!@#$%^&*()]{6,20}$";