使用正则表达式验证电子邮件或手机
Validate email or mobile with regular expression
我有一个表单域。在该字段中,用户可以输入 EMAIL 或 MOBILE。从 PHP 页面我得到了价值。之后我想检查这是电子邮件 ID 还是手机号码。假设email
表示我想发邮件成功,假设mobile
表示我想显示移动成功,我想我们必须写正则表达式,但我不知道如何为这个问题写正则表达式?
<form action="#" method="POST" id="forgotForm">
<div class="form-group has-feedback">
<input type="text" class="form-control" placeholder="Email OR Mobile" id="email" name="email" value="" aria-required="true" required="" data-msg-required="Please enter your email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
</form>
home.php
<?php
$email=$_POST['email'];//here value it will come like 9986128658 or admin@gmail.com
?>
您可以检查该值是否为有效的电子邮件地址。如果是那么你有一封电子邮件,否则你可以假设它是一个 phone 号码:
$email = null;
$phone = null;
// The "email" field has been submitted
if (isset($_POST["email"])) {
// If it is an email then set the email variable
if (filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL)) {
$email = filter_input(INPUT_POST, "email", FILTER_SANITIZE_EMAIL);
}
// If it is a number then set the phone variable
else if (filter_input(INPUT_POST, "email", FILTER_VALIDATE_INT)) {
$phone = filter_input(INPUT_POST, "email", FILTER_SANITIZE_NUMBER_INT);
}
}
if ($email !== null) {
echo "Submitted email: {$email}";
}
if ($phone !== null) {
echo "Submitted phone number: {$phone}";
}
您可以使用 preg_match
检查输入
$email=$_POST['email'];
$emailPattern = '/^\w{2,}@\w{2,}\.\w{2,4}$/';
$mobilePattern ="/^[7-9][0-9]{9}$/";
if(preg_match($emailPattern, $email)){
echo "Email Success!";
} else if(preg_match($mobilePattern, $email)){
echo "Mobile Success!";
} else {
echo "Invalid entry";
}
检查有效的电子邮件
- 电子邮件应该至少有两个字的长度,比如
aa@aa.aa
- TLD 应至少包含 2 个字符,最多包含 4 个字符
- 要包含像 co.in 这样的域,请使用 -
/^\w{2,}@[\w\.]{2,}\.\w{2,4}$/
检查有效手机
- 手机应有 10 个字符长度,并且应以 7、8 或 9 开头,要取消该限制,请将
$mobilePattern
更改为 /^[0-9]{10}$/
- 如果它不是有效的电子邮件或手机,它会 returns 错误消息
我有一个表单域。在该字段中,用户可以输入 EMAIL 或 MOBILE。从 PHP 页面我得到了价值。之后我想检查这是电子邮件 ID 还是手机号码。假设email
表示我想发邮件成功,假设mobile
表示我想显示移动成功,我想我们必须写正则表达式,但我不知道如何为这个问题写正则表达式?
<form action="#" method="POST" id="forgotForm">
<div class="form-group has-feedback">
<input type="text" class="form-control" placeholder="Email OR Mobile" id="email" name="email" value="" aria-required="true" required="" data-msg-required="Please enter your email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
</form>
home.php
<?php
$email=$_POST['email'];//here value it will come like 9986128658 or admin@gmail.com
?>
您可以检查该值是否为有效的电子邮件地址。如果是那么你有一封电子邮件,否则你可以假设它是一个 phone 号码:
$email = null;
$phone = null;
// The "email" field has been submitted
if (isset($_POST["email"])) {
// If it is an email then set the email variable
if (filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL)) {
$email = filter_input(INPUT_POST, "email", FILTER_SANITIZE_EMAIL);
}
// If it is a number then set the phone variable
else if (filter_input(INPUT_POST, "email", FILTER_VALIDATE_INT)) {
$phone = filter_input(INPUT_POST, "email", FILTER_SANITIZE_NUMBER_INT);
}
}
if ($email !== null) {
echo "Submitted email: {$email}";
}
if ($phone !== null) {
echo "Submitted phone number: {$phone}";
}
您可以使用 preg_match
$email=$_POST['email'];
$emailPattern = '/^\w{2,}@\w{2,}\.\w{2,4}$/';
$mobilePattern ="/^[7-9][0-9]{9}$/";
if(preg_match($emailPattern, $email)){
echo "Email Success!";
} else if(preg_match($mobilePattern, $email)){
echo "Mobile Success!";
} else {
echo "Invalid entry";
}
检查有效的电子邮件
- 电子邮件应该至少有两个字的长度,比如
aa@aa.aa
- TLD 应至少包含 2 个字符,最多包含 4 个字符
- 要包含像 co.in 这样的域,请使用 -
/^\w{2,}@[\w\.]{2,}\.\w{2,4}$/
- 电子邮件应该至少有两个字的长度,比如
检查有效手机
- 手机应有 10 个字符长度,并且应以 7、8 或 9 开头,要取消该限制,请将
$mobilePattern
更改为/^[0-9]{10}$/
- 手机应有 10 个字符长度,并且应以 7、8 或 9 开头,要取消该限制,请将
- 如果它不是有效的电子邮件或手机,它会 returns 错误消息