Я думаю об использовании контактной формы с пользовательским вводом для телефона или email (одним вводом).Использование одного входа для телефона/электронной почты в контактной форме
Я хотел бы знать, можно ли как-то использовать для этого HTML-номер/адрес электронной почты? и должен ли я выполнять этот тип проверки на стороне сервера?
HTML форма:
<form name="contact" target="contact.php" method="post">
<input name="fullname" placeholder="Name" type="text" value="" minlength="2" required="">
<input name="emailPhone" placeholder="email/phone" type="email" value="" required="">
<input value="send" type="submit">
</form>
Код из contact.php:
$name = trim(stripslashes($_POST['fullname']));
$ep_input = trim(stripslashes($_POST['emailPhone']));
// Name validation
if (strlen($name) < 2) {
$error['name'] = "Invalid name";
}
// Email and phone number validation. first, the email...
if (!preg_match('/^[a-z0-9&\'\.\-_\+][email protected][a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $ep_input)) {
$error['email'] = "invalid email address.";
}
// Now the phone (should be more accurate but we keep it simple for now...)
else if (!preg_match('/^[0-9]*$/', $ep_input) {
$error['phone'] = "invalid phone number.";
}
Я хотел бы знать, если это возможно, чтобы использовать проверку HTML5 как-то для обоих. если нет, будет хорошо, если кто-нибудь сможет поделиться лучшим способом достижения этого результата с помощью некоторого кода JS/Jquery/AJAX перед отправкой данных формы в файл PHP ...
Не делайте этого. Это запутывает пользователя. Вместо этого, есть два входа, с четким выбором для пользователя. –
Как насчет 'type =" text "'? Это должно работать для обоих. –
Есть ли хороший способ сделать этот вариант похожим на один вход? как бы это сделать с меньшими затратами, просто введите адрес электронной почты или телефон здесь - не можете придумать, как правильно это сделать. – LowMatic