英溯IT论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 100|回复: 1

php 过滤邮件,邮件地址里面达到三个.的邮件过滤返回false

[复制链接]

122

主题

156

帖子

735

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
735
发表于 2025-3-15 08:31:53 | 显示全部楼层 |阅读模式
[size=16.002px]你可以使用 PHP 的正则表达式来过滤邮件地址,判断其中是否包含三个或更多的点(.)。以下是一个示例代码:


function isValidEmail($email) {

    // 使用正则表达式匹配邮件地址中的点
    if (preg_match('/^(.*?\.){3,}/', $email)) {
        return false; // 如果邮件地址中有三个或更多的点,返回 false
    }
    return true; // 否则返回 true
}


// 测试示例
$email1 = "stra.ng.een.kov@gmail.com";
$email2 = "normal.email@gmail.com";


var_dump(isValidEmail($email1)); // 输出: bool(false)
var_dump(isValidEmail($email2)); // 输出: bool(true)
代码解释:
  • 正则表达式 '/^(.*?\.){3,}/':

    • ^ 表示字符串的开始。
    • (.*?\.) 匹配任意字符(非贪婪模式)后跟一个点。
    • {3,} 表示前面的模式至少重复 3 次。
    • 如果匹配成功,说明邮件地址中有三个或更多的点。

  • preg_match 函数:

    • 用于执行正则表达式匹配。
    • 如果匹配成功,返回 1,否则返回 0。

  • 返回值:

    • 如果邮件地址中有三个或更多的点,函数返回 false。
    • 否则返回 true。


[size=16.002px]你可以根据实际需求调整正则表达式或逻辑。

回复

使用道具 举报

122

主题

156

帖子

735

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
735
 楼主| 发表于 2025-4-2 10:52:41 | 显示全部楼层
    if (substr_count($str, '.') > 2) {
        return false;
    }

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|英溯IT论坛 ( 沪ICP备13022730号-6 )

GMT+8, 2025-7-1 21:56 , Processed in 0.102429 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表