如何使用 php 验证学校电子邮件域
How to validate a school email domain with php
我正在尝试验证 php 中以 .ac.uk 结尾的学校电子邮件。我希望能够检查表单中提交的电子邮件是否以 .ac.uk in PHP
结尾
我的PHP代码:
if (empty ($_POST["uni_email"])) {
$emailErr2 = "University email is required";
} else {
$uemail = $_POST["uni_email"];
if ( !filter_var($uemail, FILTER_VALIDATE_EMAIL)) {
$emailErr3 = "Invalid email format";
echo $emailErr3;
}
if (!preg_match('/ac.uk$/', $email)) {
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
我见过使用 checkdnsrr() 函数检查域的方法,但我不确定这是否是正确的方法,因为 .ac.uk 不是域,我想确保它检查域后为.ac.uk。所以有效的电子邮件应该是 bob@email.ac.uk.
而不是最后一个 preg_match,你可以用非正则表达式的方式来做:
if(!endsWith($email, '.ac.uk'))
{
// here handle your error, email doesn't end with .ac.uk.
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
function endsWith( $haystack, $needle ) {
$length = strlen( $needle );
if( !$length ) {
return true;
}
return substr( $haystack, -$length ) === $needle;
}
可能是这样的
演示:http://codepad.org/7PsanZIO
<?php
$postEmail = 'user@university.ac.uk'; // as $_POST["uni_email"]
if (empty ($postEmail)) {
$emailErr2 = "University email is required";
} else {
$uemail = $postEmail;
if ( !filter_var($uemail, FILTER_VALIDATE_EMAIL)) {
$emailErr3 = "Invalid email format";
echo $emailErr3;
}
}
if (substr(trim($postEmail), -6) === '.ac.uk') {
echo 'email is correct';
} else {
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
?>
我正在尝试验证 php 中以 .ac.uk 结尾的学校电子邮件。我希望能够检查表单中提交的电子邮件是否以 .ac.uk in PHP
结尾我的PHP代码:
if (empty ($_POST["uni_email"])) {
$emailErr2 = "University email is required";
} else {
$uemail = $_POST["uni_email"];
if ( !filter_var($uemail, FILTER_VALIDATE_EMAIL)) {
$emailErr3 = "Invalid email format";
echo $emailErr3;
}
if (!preg_match('/ac.uk$/', $email)) {
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
我见过使用 checkdnsrr() 函数检查域的方法,但我不确定这是否是正确的方法,因为 .ac.uk 不是域,我想确保它检查域后为.ac.uk。所以有效的电子邮件应该是 bob@email.ac.uk.
而不是最后一个 preg_match,你可以用非正则表达式的方式来做:
if(!endsWith($email, '.ac.uk'))
{
// here handle your error, email doesn't end with .ac.uk.
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
function endsWith( $haystack, $needle ) {
$length = strlen( $needle );
if( !$length ) {
return true;
}
return substr( $haystack, -$length ) === $needle;
}
可能是这样的
演示:http://codepad.org/7PsanZIO
<?php
$postEmail = 'user@university.ac.uk'; // as $_POST["uni_email"]
if (empty ($postEmail)) {
$emailErr2 = "University email is required";
} else {
$uemail = $postEmail;
if ( !filter_var($uemail, FILTER_VALIDATE_EMAIL)) {
$emailErr3 = "Invalid email format";
echo $emailErr3;
}
}
if (substr(trim($postEmail), -6) === '.ac.uk') {
echo 'email is correct';
} else {
$emailErr3 = "Invalid university email format";
echo $emailErr3;
}
?>