使用正则表达式验证电子邮件或手机

问题描述:

我有一个表单字段。在该领域中,用户可以输入电子邮件移动。从一个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 [email protected] 
 
    
 
    ?>

您可以检查输入使用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"; 
} 
  1. 检查为有效的电子邮件

    • 电子邮件应该有至少两个单词长度说[email protected]
    • TLD应具有至少2个字符和最大的4个字符
    • 要包括像co.in域,使用 - /^\w{2,}@[\w\.]{2,}\.\w{2,4}$/
  2. 检查为有效的移动

    • 移动应该有10个字符长度并应以7或8或9开始,以移除该限制,将$mobilePattern更改为/^[0-9]{10}$/
  3. 如果它不是有效的电子邮件或手机,它会返回错误消息
+0

k谢谢@ Thamilan –

您可以检查是否值是一个有效的电子邮件地址。如果是,那么你有一个电子邮件,否则,你可以认为它是一个电话号码: