php中的电子邮件验证(无javascript)
祝你节日快乐 我是新来php的,我的公司给了我一个注册表格的任务, 我想知道如何使用php(而不是JavaScript)验证电子邮件地址 好像一定会有一个。和@符号 我没有使用JavaScript,但TL说它必须使用PHP。 下面给出了我的Html代码 有人能帮忙吗php中的电子邮件验证(无javascript),php,Php,祝你节日快乐 我是新来php的,我的公司给了我一个注册表格的任务, 我想知道如何使用php(而不是JavaScript)验证电子邮件地址 好像一定会有一个。和@符号 我没有使用JavaScript,但TL说它必须使用PHP。 下面给出了我的Html代码 有人能帮忙吗 <html> <head><title>Form validation</title> <script type="text/javascript"> /*func
<html>
<head><title>Form validation</title>
<script type="text/javascript">
/*function validateEmail() {
var emailText = document.getElementById('email').value;
var pattern = /^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{2,4}$/;
if (pattern.test(emailText)) {
return true;
} else {
alert('Bad email address: ' + emailText);
return false;
}
}
window.onload = function() {
document.getElementById('email_form').onsubmit = validateEmail;
}
*/
</script>
</head>
<body>
<form action="<?php echo base_url();?>index.php/validation_control/insert_to_db" method="post" id="email_form" onsumbit="return myFunction()">
<table align="center" border="2">
<tr><td>Username :- <td><input type="text" name='uname'/></td></td></tr>
<tr><td>First Name :- <td><input type="text" name='fname'/></td></td></tr>
<tr><td>Last Name :- <td><input type="text" name='lname'/></td></td></tr>
<tr><td>Email :- <td><input type="text" name='email' /><?php //echo $emailErr;?></td></td></tr>
<tr><td>Password :-<td><input type="password" name='pass' id='pass'/></td></td></tr>
<tr><td>Confirm Password :-<td><input type="password" name='cnfpass' id='cnfpass'/></td></td></tr>
<tr><td>Status :-<td><input type="radio" name="status" value="active" />Active<input type="radio" name="status" value="deactive" />Deactive<input type="radio" name="status" value="delete" />Delete</td></td></tr>
<tr><td align="center" colspan="2"><input type="submit" name="sbmt" id="sbmt" value="Submit" onclick="Javscript:validateEmail"/></td></tr>
</table>
</form>
</body>
</html>
表单验证
/*函数validateEmail(){
var emailText=document.getElementById('email').value;
变量模式=/^[a-zA-Z0-9\-\+(\.[a-zA-Z0-9\-\+)*@[a-Z0-9]+(\-[a-Z0-9]+)*(\.[a-Z0-9]+(\-[a-Z0-9]+)*。[a-z]{2,4}$/;
if(模式测试(emailText)){
返回true;
}否则{
警报(“错误的电子邮件地址:”+emailText);
返回false;
}
}
window.onload=函数(){
document.getElementById('email_form')。onsubmit=validateEmail;
}
*/
密码:-
确认密码:-
状态:-ActiveDeActivateDelete
你可以看到
你可以看到
你可以看到
您可以看到试试这个
<input type="email">
希望它简单试试这个
<input type="email">
希望它简单试试这个
<input type="email">
希望它简单试试这个
<input type="email">
希望它简单编辑
您的公司要求您在服务器上进行地址验证。有时,您希望在两个地方都这样做,即:
- 在客户端:在提交之前提供关于输入是否有效的即时反馈
- 在服务器上:验证输入,以防错误输入通过
POST
请求提交给服务器,因此处理请求的PHP端点必须从请求中获取表单字段并对其进行验证
例如,您可以通过以下操作“获取”电子邮件地址:
$emailAddress=$\u POST[“email”]代码>
$\u POST
数组是特定于每个请求的,并且在字典中包含所有表单数据(我认为实际上是一个数组,但不管怎样)。通常,您可以通过执行$\u POST[“the\u input\u id”]
来获取表单数据,其中the\u input\u id
是表单元素的输入id
一旦你得到了你需要的东西,你就可以进行验证了
PHP端
请参阅查找好的正则表达式以验证您的电子邮件地址
据我所知,电子邮件地址没有“规范”正则表达式,因为不同的服务器允许不同类型的地址。实际有效电子邮件地址的RFC没有统一遵循
例如,一个非常密集的正则表达式在
然后使用php的内置正则表达式函数,即:
$EmailRegEx = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$";
$InputAddress = "tacos_tacos_tacos@nowhere.com";
$EmailAddressValid = preg_match($EmailRegEx, $InputAddress);
if ($EmailAddressValid) {
$this->_SendMe();
}
有关简单示例,请参阅。编辑
include 'connect.php';
require 'class.phpmailer.php';
$mail = new PHPMailer();
// ---------- adjust these lines ---------------------------------------
$mail->Username = "email"; // your GMail user name
$mail->Password = "passwd"; // your GMail password
$mail->AddAddress($_POST['t5']);
$eml1=$_POST['t5'];
//$ky=$_POST[$key];
$mail-> AddReplyTo ='';
$mail->ReturnPath='';
$mail->FromName = ''; // sender name
$mail->Subject = '';
$sql="SELECT * FROM $tbl_name WHERE emailid='$eml1'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
$key=$row['randomkey'];
$mail->Body = "Click to this link for conformation login Account http://domain/passwd.php?evalue=$eml1&rdk=$key";
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com"; // GMail
$mail->Port = 465;
$mail->IsSMTP(); // use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->From = $mail->Username;
if(!$mail->Send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
// header("Location: contact.php");
echo 'Message was Sucessfully Sent ';
echo 'Check Your Email Address Click to Link and Create New Password';
echo 'your hyperlink for redirect ';
您的公司要求您在服务器上进行地址验证。有时,您希望在两个地方都这样做,即:
- 在客户端:在提交之前提供关于输入是否有效的即时反馈
- 在服务器上:验证输入,以防错误输入通过
表单数据通常通过POST
请求提交给服务器,因此处理请求的PHP端点必须从请求中获取表单字段并对其进行验证
例如,您可以通过以下操作“获取”电子邮件地址:
$emailAddress=$\u POST[“email”]代码>
$\u POST
数组是特定于每个请求的,并且在字典中包含所有表单数据(我认为实际上是一个数组,但不管怎样)。通常,您可以通过执行$\u POST[“the\u input\u id”]
来获取表单数据,其中the\u input\u id
是表单元素的输入id
一旦你得到了你需要的东西,你就可以进行验证了
PHP端
请参阅查找好的正则表达式以验证您的电子邮件地址
据我所知,电子邮件地址没有“规范”正则表达式,因为不同的服务器允许不同类型的地址。实际有效电子邮件地址的RFC没有统一遵循
例如,一个非常密集的正则表达式在
然后使用php的内置正则表达式函数,即:
$EmailRegEx = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$";
$InputAddress = "tacos_tacos_tacos@nowhere.com";
$EmailAddressValid = preg_match($EmailRegEx, $InputAddress);
if ($EmailAddressValid) {
$this->_SendMe();
}
有关简单示例,请参阅。编辑
include 'connect.php';
require 'class.phpmailer.php';
$mail = new PHPMailer();
// ---------- adjust these lines ---------------------------------------
$mail->Username = "email"; // your GMail user name
$mail->Password = "passwd"; // your GMail password
$mail->AddAddress($_POST['t5']);
$eml1=$_POST['t5'];
//$ky=$_POST[$key];
$mail-> AddReplyTo ='';
$mail->ReturnPath='';
$mail->FromName = ''; // sender name
$mail->Subject = '';
$sql="SELECT * FROM $tbl_name WHERE emailid='$eml1'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
$key=$row['randomkey'];
$mail->Body = "Click to this link for conformation login Account http://domain/passwd.php?evalue=$eml1&rdk=$key";
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com"; // GMail
$mail->Port = 465;
$mail->IsSMTP(); // use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->From = $mail->Username;
if(!$mail->Send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
// header("Location: contact.php");
echo 'Message was Sucessfully Sent ';
echo 'Check Your Email Address Click to Link and Create New Password';
echo 'your hyperlink for redirect ';
您的公司要求您在服务器上进行地址验证。有时,您希望在两个地方都这样做,即:
- 在客户端:在提交之前提供关于输入是否有效的即时反馈
- 在服务器上:验证输入,以防错误输入通过
表单数据通常通过POST
请求提交给服务器,因此处理请求的PHP端点必须从请求中获取表单字段并对其进行验证
例如,您可以通过以下操作“获取”电子邮件地址:
$emailAddress=$\u POST[“email”]代码>
$\u POST
数组是特定于每个请求的,并且在字典中包含所有表单数据(我认为实际上是一个数组,但不管怎样)。通常,您可以通过执行$\u POST[“the\u input\u id”]
来获取表单数据,其中the\u input\u id
是表单元素的输入id
一旦你得到了你需要的东西,你就可以进行验证了
PHP端
请参阅查找好的正则表达式以验证您的电子邮件地址
据我所知,电子邮件地址没有“规范”正则表达式,因为不同的服务器允许不同类型的地址。实际有效电子邮件地址的RFC没有统一遵循
例如,一个非常密集的正则表达式在
然后使用php的内置正则表达式函数,即:
$EmailRegEx = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$";
$InputAddress = "tacos_tacos_tacos@nowhere.com";
$EmailAddressValid = preg_match($EmailRegEx, $InputAddress);
if ($EmailAddressValid) {
$this->_SendMe();
}
有关简单示例,请参阅。编辑
include 'connect.php';
require 'class.phpmailer.php';
$mail = new PHPMailer();
// ---------- adjust these lines ---------------------------------------
$mail->Username = "email"; // your GMail user name
$mail->Password = "passwd"; // your GMail password
$mail->AddAddress($_POST['t5']);
$eml1=$_POST['t5'];
//$ky=$_POST[$key];
$mail-> AddReplyTo ='';
$mail->ReturnPath='';
$mail->FromName = ''; // sender name
$mail->Subject = '';
$sql="SELECT * FROM $tbl_name WHERE emailid='$eml1'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
$key=$row['randomkey'];
$mail->Body = "Click to this link for conformation login Account http://domain/passwd.php?evalue=$eml1&rdk=$key";
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com"; // GMail
$mail->Port = 465;
$mail->IsSMTP(); // use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->From = $mail->Username;
if(!$mail->Send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
// header("Location: contact.php");
echo 'Message was Sucessfully Sent ';
echo 'Check Your Email Address Click to Link and Create New Password';
echo 'your hyperlink for redirect ';
您的公司要求您在服务器上进行地址验证。有时,您希望在两个地方都这样做,即:
- 在客户端:在提交之前提供关于输入是否有效的即时反馈
- 在服务器上:在som情况下验证输入