⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validations.php

📁 每个RFC 3261信息头有一个相应的存取标识. 但是,许多信息头拥有同样的形式。 例如。To和From的信息头都是由显示名和一个URI组成。 To和From信息头用来管理与处理NameAddr实例的
💻 PHP
字号:
<?php/*  $Id: validations.php,v 1.1 2003/03/15 14:38:38 project3000 Exp $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2003 osCommerce  Released under the GNU General Public License*/  ////////////////////////////////////////////////////////////////////////////////////////////////  //  // Function    : tep_validate_email  //  // Arguments   : email   email address to be checked  //  // Return      : true  - valid email address  //               false - invalid email address  //  // Description : function for validating email address that conforms to RFC 822 specs  //  //               This function is converted from a JavaScript written by  //               Sandeep V. Tamhankar (stamhankar@hotmail.com). The original JavaScript  //               is available at http://javascript.internet.com  //  // Sample Valid Addresses:  //  //    first.last@host.com  //    firstlast@host.to  //    "first last"@host.com  //    "first@last"@host.com  //    first-last@host.com  //    first.last@[123.123.123.123]  //  // Invalid Addresses:  //  //    first last@host.com  //  //  ////////////////////////////////////////////////////////////////////////////////////////////////  function tep_validate_email($email) {    $valid_address = true;    $mail_pat = '^(.+)@(.+)$';    $valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";    $atom = "$valid_chars+";    $quoted_user='(\"[^\"]*\")';    $word = "($atom|$quoted_user)";    $user_pat = "^$word(\.$word)*$";    $ip_domain_pat='^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$';    $domain_pat = "^$atom(\.$atom)*$";    if (eregi($mail_pat, $email, $components)) {      $user = $components[1];      $domain = $components[2];      // validate user      if (eregi($user_pat, $user)) {        // validate domain        if (eregi($ip_domain_pat, $domain, $ip_components)) {          // this is an IP address      	  for ($i=1;$i<=4;$i++) {      	    if ($ip_components[$i] > 255) {      	      $valid_address = false;      	      break;      	    }          }        }        else {          // Domain is a name, not an IP          if (eregi($domain_pat, $domain)) {            /* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD               and that there's a hostname preceding the domain or country. */            $domain_components = explode(".", $domain);            // Make sure there's a host name preceding the domain.            if (sizeof($domain_components) < 2) {              $valid_address = false;            } else {              $top_level_domain = strtolower($domain_components[sizeof($domain_components)-1]);              // Allow all 2-letter TLDs (ccTLDs)              if (eregi('^[a-z][a-z]$', $top_level_domain) != 1) {                $tld_pattern = '';                // Get authorized TLDs from text file                $tlds = file(DIR_WS_INCLUDES . 'tld.txt');                while (list(,$line) = each($tlds)) {                  // Get rid of comments                  $words = explode('#', $line);                  $tld = trim($words[0]);                  // TLDs should be 3 letters or more                  if (eregi('^[a-z]{3,}$', $tld) == 1) {                    $tld_pattern .= '^' . $tld . '$|';                  }                }                // Remove last '|'                $tld_pattern = substr($tld_pattern, 0, -1);                if (eregi("$tld_pattern", $top_level_domain) == 0) {                    $valid_address = false;                }              }            }          }          else {      	    $valid_address = false;      	  }      	}      }      else {        $valid_address = false;      }    }    else {      $valid_address = false;    }    if ($valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {      if (!checkdnsrr($domain, "MX") && !checkdnsrr($domain, "A")) {        $valid_address = false;      }    }    return $valid_address;  }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -