php邮箱地址正则表达式验证

时间:2022-09-17 10:46:05

我们最经常遇到的验证,就是电子邮件地址验证。网站上常见。各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法。有的还能分解出用户名和域名。现在用PHP语言实现一下电子邮件地址验证程序,用的是PHP正则表达式库。
源代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
  header ( "Content-Type: text/html; charset=UTF-8" );
  $reply = "";
  if ( isset($_POST["email_address"]) )
  {
    $email_address = $_POST["email_address"];
    $pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
    if ( preg_match( $pattern, $email_address ) )
    {
      $reply = "您输入的电子邮件地址合法<br /><br />\n";
      $user_name = preg_replace( $pattern ,"$1", $email_address );
      $domain_name = preg_replace( $pattern ,"$2", $email_address );
      $reply .= "用户名:".$user_name."<br />\n";
      $reply .= "域名:".$domain_name."<br />\n\n";
    }
    else
    {
      $reply = "您输入的电子邮件地址不合法";
    }
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<title>电子邮件地址验证程序</title>
</head>
<body style="text-align: center;">
<h1>电子邮件地址验证程序</h1>
<form action="#" method="post">
请输入电子邮件地址:<input name="email_address" type="text" style="width: 300px;" /><br />
<input type="submit" value="验证电子邮件地址" />
</form>
<?php
  echo $reply;
?>
</body>
</html>

以上就是为大家分享的php邮箱地址正则表达式验证,希望对大家的学习有所帮助。