Я использовал regex для проверки ввода электронной почты. Он выдает предупреждение, когда отправляется неправильный адрес электронной почты (например, без @ или .com), но когда я нажимаю ok для предупреждения, он по-прежнему отправляет электронное письмо на адрес электронной почты, который направлен на страницу send_msg.php, когда это не должно ... Я совершенно новичок в Javascript и PHP, поэтому я все еще участвую. Я знаю, что статья , если должна следовать за еще, но я не знаю, как заставить ее опубликовать электронное письмо, если оно правда. И как я могу заставить его просто отображать сообщение под полем ввода электронной почты вместо того, чтобы поднять предупреждение?Проверка правильности регулярного выражения Javascript
<script>
function checkEmail(inputvalue){
var pattern=/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(pattern.test!=(inputvalue)){
alert("Please enter a valid email address");
return false;
}
}
<form id="contact-form" name= "form1 "action="send_msg.php" method="post">
<h3>Get in touch</h3>
<h4>Fill in the form below, and we'll get back to you within 24 hours.</h4>
<div>
<label>
<span>Name: </span>
<input placeholder="Please enter your name" name="name" type="text" tabindex="1" required autofocus>
</label>
</div>
<div>
<label>
<span>Email: </span>
<input placeholder="Please enter your email address" name="email" type="email" tabindex="2" required>
</label>
</div>
<div>
<label>
<span >Message: </span>
<textarea placeholder="Include all the details you can" name="message" tabindex="5" size= "35" maxlength= "255"></textarea>
</label>
</div>
<div>
<button name="submit" type="submit" onClick="checkEmail(document.contact-form.email.value)" id="contact-submit">Send Email</button>
</div>
</form>
Просто добавьте 'возвращение ложным;' в конце вашего 'if' заявления. – chapay
Для полноты информации [RFC 5322] (https://tools.ietf.org/html/rfc5322#section-3.4.1) разрешено использовать «+» в адресах электронной почты, например, 'foo + bar @ example.com', ваше текущее регулярное выражение не удастся выполнить это письмо. – Sean