php 判断接受邮件地址,PHP:电子邮件验证并接受来自特定域的电子邮件地址

我目前正在使用AJAX / JS制作表单,而无需单击按钮或刷新页面。 我的询问是关于电子邮件验证的。 现在,PHP代码检查电子邮件地址是否有效。 我只希望它接受来自特定域的电子邮件。 我如何通过php实现仅接受来自gmail的电子邮件地址? 例

PHP用于验证电子邮件:

if($_POST) {

$email = $_POST['email'];

if (preg_match('|^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$|i', $email)) {

echo (''.$email.'');

}

else {

echo ('Include a valid email address.');

}

}

Php有一个简单的功能可以帮助您检查电子邮件地址是否有效:

$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);

要检查电子邮件地址是否为gmail地址,可以使用以下方法:

list ($user, $domain) = explode('@', $email);

$isGmail = ($domain == 'gmail.com');

谢谢,作品像个魅力。 我没有意识到FILTER_VALIDATE_EMAIL,它非常有用!

我使用了此验证,它认为aaaa@aaaa.2是有效的邮件地址

请注意您的正则表达式,它不会验证所有实际的电子邮件地址。

您具有内置的PHP函数来检查电子邮件是否有效:

$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

如果返回true,则只需要检查字符串是否以@gmail.com结尾。 请注意,此功能可能存在一些奇怪的问题,因为电子邮件验证标准可能令人惊讶。

如果您确实想要可验证所有电子邮件地址的正则表达式,则为:

(?:[a-z0-9!#$%&'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

你应该改变你的正则表达式

'|^[A-Z0-9._%+-]+@gmail\.com$|i'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值