php中檢查email完整性

2021-04-13 13:21:39 字數 1007 閱讀 2366

<?php

if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]$",$email))

?> 

在這句話裡,首先是應用了乙個eregi函式,這個函式還算好理解。隨便找本書,就能給你一段解釋: 

語法: int ereg(string pattern, string string, array [regs]); 

返回值: 整數/陣列 

本函式以 pattern 的規則來解析比對字串 string。 

比對結果返回的值放在陣列引數 regs 之中,regs[0] 內容就是原字串 string、regs[1] 為第乙個合乎規則的字串、regs[2] 就是第二個合乎規則的字串,餘類推。若省略引數 regs,則只是單純地比對,找到則返回值為 true。 

而不太好理解的就是前面的這段正規表示式了:^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]$ 

在這段正規表示式中,"+"表示前面的字串連續出現乙個或多個;"^"表示下乙個字串必須出現在開頭,"$"表示前乙個字串必須出現在結尾; 

"."也就是".",這裡""是轉義符;""表示前面的字串可以連續出現2-3次。"()"表示包含的內容必須同時出現在目標物件中。"[_.0-9a-z-]"表示包含在"_"、"."、"-"、從a到z範圍內的字母、從0到9範圍內的數字中的任意字元; 

這樣一來,這個正規表示式可以這樣翻譯: 

"下面的字元必須在開頭(^)"、"該字元必須包含在"_"、"."、"-"、從a到z範圍內的字母、從0到9範圍內的數字中([_.0-9a-z-])"、"前面這個字元至少出現一次(+)"、@、"該字串由乙個包含在從a到z範圍內的乙個字母、從0到9範圍內的數字中的字元開頭,後面跟至少乙個包含在"-"、從a到z範圍內任何乙個字母、從0到9範圍內任何乙個數字中的字元,最後以.結束(([0-9a-z][0-9a-z-]+.))"、"前面這個字元至少出現一次(+)"、"從a到z範圍內的字母出現2-3次,並以它結束([a-z]$)"  

完整性檢查

當我們想窮舉乙個型別的所有可能值時,當可能值過多,不免會遺漏過多的東西。通常我們窮舉乙個值的所有可能,我們會採用switch或者if else,當然,這是可行的,下面看乙個if else例子 function test p 1 2 else if p 2 當p的型別為更多的聯合型別的時候,我們會寫更...

OSSEC文件 完整性檢查

翻譯 完整性檢查 syscheck是ossec內部完整性檢查過程的名稱。它定期執行以檢查是否有任何配置的檔案 或windows上的登錄檔條目 發生了變化。為什麼完整性檢查?有多種型別的攻擊和許多攻擊向量,但是它們都有一種獨特之處 它們留下痕跡,並且總是以某種方式改變系統。從修改一些檔案的病毒到改變核...

資料庫完整性檢查

為了主動發現資料庫側頁損壞,保證資料庫邏輯和物理完整性,計畫每週六上午 6點,針對生產主庫上的所有系統和使用者資料庫執行 dbcc checkdb 將結果記錄到表中。以下為理論依據 sql server 資料庫可以檢測出頁損壞,此時,具體的表現形式可能為下述三種錯誤的一種 sql server 發現...