我有一个表单字段。在该字段中,用户可以输入 EMAIL 或 MOBILE 。从PHP页面我有价值。之后,我想检查这是电子邮件ID还是手机号码。假设variable_name
表示我希望通过电子邮件发送成功,假设email
表示我希望显示移动设备成功,我认为我们必须编写正则表达式,但我不知道如何编写正则表达式这个问题?
mobile

答案 0 :(得分:1)
您可以使用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
/^\w{2,}@[\w\.]{2,}\.\w{2,4}$/
检查有效的手机
$mobilePattern
更改为/^[0-9]{10}$/
答案 1 :(得分:0)
您可以检查该值是否为有效的电子邮件地址。如果是,那么你有一封电子邮件,否则你可以认为它是一个电话号码:
$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}";
}