在下面的表達式中,它檢查有效的電子郵件。我的問題是我怎麼能檢查PPL | pplweb是在@符號後的電子郵件地址電子郵件中的某些字母的註冊表達式
!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)
感謝
在下面的表達式中,它檢查有效的電子郵件。我的問題是我怎麼能檢查PPL | pplweb是在@符號後的電子郵件地址電子郵件中的某些字母的註冊表達式
!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)
感謝
你可以在2個達陣組件分割你$email
VAR @符號將其分離
$splitted_email = explode('@',$email);
,然後由PPL/PP /網絡模式中的陣列的第一組分搜索
preg_match('(/ppl|pplweb/i)',$splitted_email[1]);
這種方式,也許代碼有點長,但短正則表達式更好地mantain。
這似乎不起作用 – user747796 2012-01-18 15:38:57
嘗試'$ splitted_email = explode('@',$ email);'並匹配'$ splitted_email [1]'而不是'$ splitted_email [0]'。我提交了一個正在等待同行評審的答案。 – mcrumley 2012-01-18 16:52:01
另外,正則表達式應該是''/ ppl | pplweb /''。或者如果你想要一個不區分大小寫的匹配:''/ ppl | pplweb/i''。 – mcrumley 2012-01-18 16:56:19
顯然,你不太喜歡'.info'域名持有者。更不用說'.museum'。嚴重的是,這是一個糟糕的正則表達式。不要嘗試使用regexen驗證電子郵件地址。 – 2012-01-18 14:47:41
你有更好的方法嗎? – user747796 2012-01-18 15:18:14