我正在努力即将推出的网页。在页面上,我要求用户通过表单注册,然后通过电子邮件将电子邮件发送给我。我不确定如何确保他们在表单中放置的数据是电子邮件(以防止垃圾邮件)。有帮助吗? 感谢。
答案 0 :(得分:3)
使用jquery验证非常容易使用http://docs.jquery.com/Plugins/Validation
答案 1 :(得分:1)
客户端js是不够的,你还应该使用PHP的filter_var验证:
<?php
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
$from=$_POST['email'];
}else{
$error['email_to']='Email Invalid!';
}
?>
答案 2 :(得分:1)
您不应该依赖客户端验证来阻止垃圾邮件和其他不需要的注册。虽然您可以使用jQuery验证来使网站对访问者更友好,但为他们提供一条简洁的消息,表明输入的电子邮件地址无效,并且他们应该查看该字段。
但垃圾邮件机器人不会关心jQuery的验证,它只会发布给定的字段。这就是您需要在服务器端验证数据的原因。
有几种方法可以使用正则表达式验证电子邮件地址,但并非所有方法都可靠。查看http://www.linuxjournal.com/article/9585本文解释了很多内容。
答案 3 :(得分:1)
user following code as primary step to validate the email input
if(document.getElementById('Email').value=="")
{
document.getElementById('Email_Msg').innerHTML="Please Enter EmailId";
document.getElementById('Email').focus()
return false;
}
else
{
if(document.getElementById('Email').value.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/))
{
document.getElementById('Email_Msg').innerHTML="";
}
else
{
document.getElementById('Email_Msg').innerHTML="Enter Valid Email-Id";
return false;
document.getElementById('Email').value="";
}
}
答案 4 :(得分:0)
如果您想要阻止垃圾邮件,请确保使用电子邮件字段填写电子邮件字段是不够的。考虑使用像ReCaptcha
这样的验证码答案 5 :(得分:0)
只需对您的电子邮件进行单行验证即可。 代码可能如下所示。
<?php
if(empty($_POST['email']))
{
$error[]="Enter Email ID";
}
else
{
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$error[]= "Not A Valid Email ID.";
}
}
//pass these errors to display ana error message to user.
foreach($error as $i)
{
$message = $i."<br />";
}
?>
<?php
echo $message;
?>
Additionaly使用邮件功能和mysql数据库(或其他如果您使用的话)发送邮件以验证其电子邮件ID。您可以阻止不需要的用户注册。并且还使用验证码来防止洪水泛滥到您的数据库。
我觉得这有帮助。如果有任何疑问在这里回复。
答案 6 :(得分:0)
使用php gd2库创建自己的验证码。它简单而有效。