Validación de correo electrónico de PHP y Javascript del símbolo ‘@’

Intentando obtener código para buscar si el símbolo ‘@’ está presente en la dirección de correo electrónico ingresada y echo si el símbolo no lo está. Todo funciona bien sin la búsqueda del código @.

check.php

<?php include '/connect.php'; //connects to mysql $email = mysqli_real_escape_string($connect, $_POST['email']); $check = mysqli_query($connect, "SELECT email FROM users WHERE email='$email'"); $check_num_rows = mysqli_num_rows($check); if ($email==NULL) { echo 'Enter an email'; } elseif (strlen($email)<6) { echo 'Please enter a valid email'; } elseif (str($email).indexOf('@') == -1) { echo 'Please enter a valid email'; } else { if ($check_num_rows==0) { echo 'Email valid'; } elseif ($check_num_rows==1) { echo 'Email already registered'; } } 

register.php

   $(document).ready(function() { $('#feedback_email').load('/check.php').show(); $('#email').keyup(function() { $.post('/check.php', { email: form.email.value }, function(result) { $('#feedback_email').html(result).show; }); }); });  
<input id="email" type="text" name="email" placeholder="Email Address" maxlength="60" value="">

EDITAR: Tengo un filtro incorporado para la validación de back-end php. Sin embargo, estoy tratando de hacer una validación de front-end también a través de estos códigos. Si alguien sabe cómo arreglar mi script, publique. Recibo un error

Llamada a la función no definida str () en /check.php en la línea 13

Línea 13

 } elseif (str($email).indexOf('@') == -1) { 

Un enfoque mucho mejor para validar los correos electrónicos sería usar filtros incorporados para ese tipo de cosas.

  

La razón por la que tu código no funciona es porque PHP no tiene un método str o indexOf , indexOf que debes usar algo como strpos

 if (strpos($email, '@') === false) { ... 

No solo validará la dirección de correo electrónico, sino que también la desinfectará con caracteres inesperados:

 $email = $_POST['email']; $emailB = filter_var($email, FILTER_SANITIZE_EMAIL); if(filter_var($emailB, FILTER_VALIDATE_EMAIL) === false || $emailB != $email ) { echo "This email adress isn't valid!"; exit(0); } 

puede usar la validación de correo electrónico php por defecto

 if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo("$email is a valid email address"); } else { echo("$email is not a valid email address"); } ?> 

también puede verificar esto en https://eval.in/870776

prueba esto :-

 function isValidEmailAddr ($email) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } 

uso: –

 include('path/to/lib.php'); $test = 'email@foo.bar'; if(isValidEmailAddr($test) == true){ echo "good to go"; } else { echo "try again babe!" }