有一次去一個游戲公司面試PHP工程師,然後面試官要我當場寫一段驗證郵箱格式是否正確的代碼,記得當時有點緊張,寫得亂七八糟,現在回來再重新組織,代碼。
首先,要驗證格式是否正確,第一步要知道郵箱的一般格式:
郵件的正確格式為: 用戶名+@+服務器名+ . +com/net/cn/org,比如說[email protected],619710266是用戶名,qq是服務器名,然後+.com
郵箱驗證有幾點要求:
1、驗證時要求用戶名是大小字母或小寫字母
2、用戶名的後面要加上@
3、@後面要加服務器的名稱。
4、服務名後面要加“點”即 .
5、最後以com net cn org結尾之
我們在實現驗證功能的時候也是圍繞著這幾點來寫的。
PHP的posix擴展函數中有一個ereg()區分大小寫,eregi()不區分大小寫的函數,用在郵箱驗證中十分方便:
用法: ereg(pattern, string)其中,pattern代表正則表達式的模式,而string則是執行查找替換操作的目標對象。同樣是驗證郵件地址,使用PHP編寫的程序代碼如下:
< ?php if (ereg(“^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+”,$email)){ echo “郵箱地址正確!”;} else{ echo 郵箱地址錯誤!”; } ?>