驗證Email地址第二種方法:
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
首先說明*與+與?的不同。
*代表前面的項目重複0~無限次。例如zo*代表有z與zoo等各種可能性,也就是{0,}
+*代表前面的項目重複1~無限次。例如zo+代表zo與zoo,但不包括z,也就是{1,}
?代表前面的項目重複0次或1次。例如do(es)?代表do或does也就是 {0,1}
以下就開始逐步分析
1.
^\w+
^ 和 $ 搭配運用 , 代表符合某字開始, 某字結束。什麼字開始呢? \w代表 [a-zA-Z_0-9] 數字或是英文字,而這些任意字
是可以重複一次以上。也就是說email第一個字一定要是英文或數字。
2.
[-+.']
代表可以輸入-或+或.或'
3.
\w+
代表數字或英文字可重複一次以上
4.
([-+.]\w+)*
代表-或+或.加上任意數字或英文字可重複0次以上
5.
@\w+
@符號之後可接多個英文或數字
6.
([-.]\w+)*
與第四點相同,代表-或+或.加上任意數字或英文字可重複0次以上
7.
\.\w+
代表.之後接任意英文或數字,而.之後的英文或數字可重複一次以上
8.
[-.]\w+
代表-或.之後接多個英文或數字
9.
([-.]\w+)*
-或.之後接多個英文或數字這樣的組合可重複0次以上
整段的意思是
在@之前,必須是英文或數字開始,若之後接-或.或+或'等字必須搭配英文或數字。
@之後至少接一個點.,若是-或.開始的字必須搭配英文或數字。
沒有留言:
張貼留言