php - 需要正则表达式来过滤掉 .ru 和其他垃圾邮件地址

标签 php regex

我已经在使用 php 的 filter_var($email, FILTER_VALIDATE_EMAIL) 来查明地址是否是有效的电子邮件。

我要继续阻止 .ru 电子邮件地址。我应该使用什么正则表达式和代码?您阻止的任何其他垃圾邮件 tld 或地址也将不胜感激。

我试过这个,但想确保我正确地捕获它并捕获其他垃圾邮件。

function endsWith($haystack, $needle){
    $length = strlen($needle);
    return (substr($haystack, -$length) === $needle);
}

谢谢VG:

function russianEmail($email,$endings = array('\.ru')){
    return (preg_match('/('.implode('|', $endings).')$/i', $email))?true:false;
}

最佳答案

您可以使用以下代码匹配多个域区域(或只是结尾):

$endings = array('\.ru'); // you can add zones here
preg_match('/('.implode('|', $endings).')$/i', $email);

此正则表达式也不区分大小写。

关于php - 需要正则表达式来过滤掉 .ru 和其他垃圾邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242230/

相关文章:

php - Codeigniter highcharttable统计一个月有多少数据

php - DOM。从选项标签中的给定文本获取值属性

c# - 将 Unity App 连接到 mySQL 数据库

c# - 在字符串中搜索子字符串

php - Doctrine 的可嵌入物的继承

PHP-如何像作业队列一样一个接一个地运行cron作业

python - 正则表达式以及如何获取捕获的值

java - 了解为什么 Java 模式与缓冲的 .java 文件中的不正确文本相匹配?

regex - 在 Perl 中选择性地拆分字符串

javascript - 用于电子邮件验证的 RegExp 无法正确读取字符串(使用 React,无 JSX)