2015-09-15 34 views
4

所以我想確定是否有人使用我們系統製作的臨時電子郵件。如果用戶嘗試使用社交帳戶(Twitter/Facebook)登錄並拒絕訪問電子郵件,我們會爲我們的系統生成一封電子郵件,即[email protected][email protected],例如123456789 @ facebook。 COM。這是一個臨時的電子郵件,直到用戶輸入真實的電子郵件。我試圖用正則表達式比較這個。計算電子郵件是否適合正則表達式?

if (preg_match("/^[0-9]@twitter.com/", Auth::user()->email, $matches)) { 
    } 

但是我認爲我的正則表達式是不正確的。如何檢查字符串的格式是否爲N數字後跟@ twitter.com或@ facebook.com

回答

3

如何檢查字符串的格式是否爲N數字後跟@twitter.com@facebook.com

你可以使用這個表達式:

'/^\[email protected](?:facebook|twitter)\.com$/' 

您正在使用^[0-9]@這將允許在開始只有個位數。除了DOT是正則表達式中需要逃脫的特殊字符。還要注意在錨點中使用末尾錨點$以避免匹配不需要的輸入。

1

你忘記設置ID爲多個號碼:

if (preg_match("/^[0-9][email protected](twitter|facebook)\.com/", Auth::user()->email, $matches)) 
    { 
     //Your code here 
    } 
相關問題