Это должно быть очень простая функция для реализации в моем PHP кодФункция для проверки электронной почты синтаксис/frmat
Но, по некоторым причинам, я не могу заставить его работать.
Я создаю две функции для моего атрибута электронной почты:
первая функция должна проверить синтаксис/формат электронной почты, и убедиться, что это правильно
Вторая функция должна затем сравнить два электронной почты поля (первое поле электронной почты, второе поле «подтвердить адрес электронной почты) Если пользователь вводит два различных сообщения электронной почты, он получит ошибку
Вот эти две функции (JavaScript):..
function validateEmail() {
var email = document.getElementById("email").value
if (!filter_var(email, FILTER_VALIDATE_EMAIL))
{
alert("You have entered an invalid email address !");
return false;
}
return true;
}
function confirmEmail() {
var email = document.getElementById("email").value
var email2 = document.getElementById("email2").value
if (email != email2) {
alert('The email addresses you entered do not match !');
return false;
}
return true;
}
Странная вещь: вторая функция работает отлично. Однако первый - нет.
Для второй функции, я добавил следующее свойство в форме: onSubmit = «возвращение Confirmemail()»
Для первой функции, я понятия не имею, что делать ((((
Я пытался добавить его в форму также: onSubmit = "возвращение Confirmemail() & & validateEmail()"
Но не повезло
0123.Во-вторых, я пытался добавить первую функцию к самому атрибута электронной почты в виде:
Тем не менее не работает.
Итак, я решил попробовать «OnKeyUp»
(На самом деле, это немного глупо, потому что, это означает, что: функция срабатывает в тот момент, пользователь начинает вводить в электронную почту поле. Что это нонсенс. функция должна работать только после пользователь имеет вход в электронную почту, и перешел к следующему полю в форме)
во всяком случае, так как JavaScript не работал, я решил попробовать простой PHP ,
Я нашел это на Google:
<?php
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
?>
И, по-прежнему не работает. Я понятия не имею, что я делаю неправильно.
(a) Я неправильно вызываю Javascript? (б) Я использую код PHP где-то, я не должен его использовать?
В целом, я в недоумении.
UPDATE:
Пожалуйста, не обращайте внимания, что PHP ерунду я писал внутри функции JavaScript
Это была ошибка.
Вот фактическая функция JS для validateEmail:
function validateEmail() {
var email = document.getElementById("email").value
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]
{2,4})+$/;;
if (email.val() == '' || !filter.test(email.val()))
{
alert('You have entered an invalid email address !!');
email.focus();
return false; }
return true; }
И, в то время как мы на эту тему, возможно, я должен доработать.
Ранее я создал третью функцию электронной почты ..........., чтобы определить, существует ли уже существующее письмо в базе данных MySQL.
Вот функция, я использовал:
<SCRIPT type="text/javascript">
$(document).ready(function() {
var min_chars = 4;
var characters_error = 'You must enter a minimum of 4 characters!';
var checking_email = 'Checking Email Validity....';
$('#email').keyup(function(){
//run the character number check
if($('#email').val().length < 4) {
$('#email_availability_result').html(characters_error); }
else{
$('#email_availability_result').html(checking_email);
check_email();
}
});
});
//function to check email AVAILABILITY in database
function check_email(){
var email = $('#email').val();
var button_check_email=true;
//use ajax to run the check
$.post("check.php", { email: email },
function(email_result){
//if the result is 1
if(email_result == 1){
//show that the email is available
button_check_email=false;
document.getElementById("submit").disabled = false;
$('#email_availability_result').html('that email is available');
}else{
button_check_email=true;
document.getElementById("submit").disabled = true;
$('#email_availability_result').html('Email address [' + email +
'] is already registered in our database.');
}
});
}
</SCRIPT>
Этот сценарий также отлично работает.
Однако первая часть сценария - пустая трата времени.
Там не было никакой необходимости, чтобы вставить функцию для подсчета «количество символов»
(HTML обеспечивает свойство «MINLENGTH» для значений данных)
Итак, что мне нужно сделать, это удалить, что частично, и как-то замените его чем-то более полезным ..........., таким как: проверка VALIDITY адреса электронной почты.
Проблема: Я пытался, но только испортил код))))
Спасибо, Брэндон. Я уже использовал свойство «required» в моей html-форме. Но это гарантирует только то, что пользователь внесет что-либо в форму. Он не проверяет правильность синтаксиса электронной почты. Что касается функции JavaScript, которую вы мне дали, то мой вопрос: ГДЕ я вызываю эту функцию? OnBlur, или OnKeyup ............ или .... ?? – newuserphp
Если вы предпочитаете type = "email", это гарантирует синтаксис электронной почты. –