首頁 >後端開發 >php教程 >驗證使用者輸入的郵箱有效性與正確性的php代碼

驗證使用者輸入的郵箱有效性與正確性的php代碼

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-07-25 09:03:431031瀏覽
  1. function validate_email($email){

  2. $exp="^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
  3. if(eregi($exp,$email)){ //先用正则表达式验证email格式的有效性
  4. if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//再用checkdnsrr验证email的域名部分的有效性
  5. return true;
  6. }else{
  7. return false;
  8. }
  9. }else{
  10. return false;
  11. }
  12. }

  13. //注意:checkdnsrr函数在win主机上是无效的!下面是国外某程序员提出的一种解决办法,另外写了个函数代替checkdnsrr函数:

  14. function myCheckDNSRR($hostName, $recType=''){
  15. if(!emptyempty($hostName)){
  16. if( $recType=='' ) $recType="MX";
  17. exec("nslookup -type=$recType $hostName", $result);
  18. foreach($result as $line){
  19. if(eregi("^$hostName",$line)){
  20. return true;
  21. }
  22. }
  23. return false;
  24. }
  25. return false;
  26. }

复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn