PHP - Ayudenme con esta validación de email

   
Vista:

Ayudenme con esta validación de email

Publicado por Ricardo J. Ríos R. (22 intervenciones) el 01/12/2008 17:12:40
Hola a todos alguien me puede decir que hay de malo con este script?

function emailValidator(elem, helperMsg)
{
var emailExp = /^[w-.+]+@[a-zA-Z0-9.-]+.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
return true;
}

Pues me funcionan perfectamente todas las demas verificaciones si quito el del email, copio el codigo completo aqui:

<script type='text/javascript'>

function formValidator(){
// Make quick references to our fields
var nombre = document.getElementById("nombre");
var rif = document.getElementById("rif");
var tipo = document.getElementById("tipo");
var direccion = document.getElementById("direccion");
var telefono = document.getElementById("telefono");
var celular = document.getElementById("celular");
var correo = document.getElementById("correo");

// Check each input in the order that it appears in the form!
if(notEmpty(nombre, "Por favor ingrese algun nombre")){
if(notEmpty(rif, "Por favor ingrese algun rif") && isAlphanumeric(rif, "Por favor sólo ingrese letras y números para el rif")){
if(madeSelection(tipo, "Por favor seleccione un tipo de proveedor")){
if(notEmpty(direccion, "Por favcor ingrese la dirección del proveedor")){
if(notEmpty(telefono, "Por favor ingrese un número telefonico del proveedor") && isNumeric(telefono, "Sólo puede ingresar números para un telefono") && isTelnumber(telefono, "El número de telefono no puede tener más ni menos de 11 caracteres (sólo números)")){
if(notEmpty(celular, "Por favor ingrese un número de celular del proveedor") && isNumeric(celular, "Sólo puede ingresar números para un celular") && isTelnumber(celular, "El número de celular no puede tener más ni menos de 11 caracteres (sólo números)")){
if(notEmpty(correo, "Por favor ingrese un correo del proveedor") && emailValidator(correo, "Por favor ingrese un correo valido")){
return true;
}
}
}
}
}
}
}
return false;

}

function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}

function isTelnumber(elem, helperMsg){
if(elem.value.length != 11){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}

function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphanumeric(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function lengthRestriction(elem, min, max){
var uInput = elem.value;
if(uInput.length >= min && uInput.length <= max){
return true;
}else{
alert("Please enter between " +min+ " and " +max+ " characters");
elem.focus();
return false;
}
}

function madeSelection(elem, helperMsg){
if(elem.value == "Selec. Tipo Proveedor"){
alert(helperMsg);
elem.focus();
return false;
}else{
return true;
}
}
/*function emailValidator(elem, helperMsg)
{
var emailExp = /^[w-.+]+@[a-zA-Z0-9.-]+.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
return true;
}*/
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayudenme con esta validación de email

Publicado por Reaven (48 intervenciones) el 02/12/2008 11:52:57
A nivel de regex por javascript , que yo sepa (que lo he utilizado poco) generas la variable con el la regex (como tu caso) pero luego debes aplicar :
Objecto.text(string) ;

Es decir en tu caso seria lo siguiente

var emailExp = /^[w-.+]+@[a-zA-Z0-9.-]+.[a-zA-z0-9]{2,4}$/;
if(emailExp.test(elem.value))
return true;
else
return false;

Prueba asi a ver que sucede ;).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayudenme con esta validación de email

Publicado por Ricardo J. Rios R. (22 intervenciones) el 02/12/2008 14:04:37
Hola amigo gracias por ayudarme, pero el problema parece ser cuando agrego la funcion al script todos los demas me dejan de funcionar, si quito, borro o pongo como comentario la funcion de validar email, me funcionan perfectamente todas las demas validaciones y no doy con lo que es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayudenme con esta validación de email

Publicado por Reaven (48 intervenciones) el 02/12/2008 17:15:49
YO lo que haria (porque leer un codigo no tabulado mata la vista :P) es borrar todo el contenido de la funcion emailValidator y poner alli un alert("dentro de funcion emailvalidator") Y ejecuta codigo, si el alert te sale, ya sabes que dentro de la funcion esta, y a partir de ahi ves construyendo al funcion poco a poco, sin quitar el alert, asi sabras en que parte del codigo te esta fallando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayudenme con esta validación de email

Publicado por Ricardo J. Rios R. (22 intervenciones) el 02/12/2008 20:35:45
Ok, ya lo tabule :) , y corte el codigo y las funciones innecesarias, no entiendo muy bien lo que me dices de donde poner el alert?

function formValidator()
{

// Hago referencias a los campos de mi formulario

var cedula = document.getElementById("cedula");
var nombre = document.getElementById("nombre");
var cargo = document.getElementById("cargo");

// Chequeo cada campo en orden

if(notEmpty(cedula, "Por favor ingrese alguna cédula") && isNumeric(cedula, "Por favor sólo ingrese números para la cédula"))
{
if(notEmpty(nombre, "Por favor ingrese algun nombre") && isAlphabet(nombre, "Por favor sólo ingrese letras para su nombre"))
{
if(notEmpty(cargo, "Por favor ingrese algun cargo"))
{
return true;
}
}
}

return false;

}

function notEmpty(elem, helperMsg)
{
if(elem.value.length == 0)
{
alert(helperMsg);
elem.focus(); // Devuelvo al usuario al input
return false;
}
return true;
}


function isNumeric(elem, helperMsg)
{
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphabet(elem, helperMsg)
{
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

//Aqui es el problema, si quito los comentarios todo lo demas me deja de funcionar
/*
function emailValidator(elem, helperMsg)
{
var emailExp = /^[w-.+]+@[a-zA-Z0-9.-]+.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
return true;
}
*/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayudenme con esta validación de email

Publicado por Ricardo J. Rios R. (22 intervenciones) el 02/12/2008 20:53:56
Me equivoque de modulo, mira hice lo que me recomendaste, tabule y puse el alert de la siguiente forma:

<script type='text/javascript'>

function formValidator(){
// Make quick references to our fields
var nombre = document.getElementById("nombre");
var rif = document.getElementById("rif");
var tipo = document.getElementById("tipo");
var direccion = document.getElementById("direccion");
var telefono = document.getElementById("telefono");
var celular = document.getElementById("celular");
var correo = document.getElementById("correo");

// Check each input in the order that it appears in the form!
if(notEmpty(nombre, "Por favor ingrese algun nombre de proveedor"))
{
if(notEmpty(rif, "Por favor ingrese algun rif") && isAlphanumeric(rif, "Por favor sólo ingrese letras y números para el rif"))
{
if(madeSelection(tipo, "Por favor seleccione un tipo de proveedor"))
{
if(notEmpty(direccion, "Por favcor ingrese la dirección del proveedor"))
{
if(notEmpty(telefono, "Por favor ingrese un número telefonico del proveedor") && isNumeric(telefono, "Sólo puede ingresar números para un telefono") && isTelnumber(telefono, "El número de telefono no puede tener más ni menos de 11 caracteres (sólo números)"))
{
if(notEmpty(celular, "Por favor ingrese un número de celular del proveedor") && isNumeric(celular, "Sólo puede ingresar números para un celular") && isTelnumber(celular, "El número de celular no puede tener más ni menos de 11 caracteres (sólo números)")){
if(notEmpty(correo, "Por favor ingrese un correo del proveedor") && emailValidator(correo, "Por favor ingrese un correo valido")){
return true;
}
}
}
}
}
}
}
return false;
}


function notEmpty(elem, helperMsg)
{
if(elem.value.length == 0)
{
alert(helperMsg);
elem.focus(); // Devuelvo al usuario al input
return false;
}
return true;
}


function isNumeric(elem, helperMsg)
{
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphabet(elem, helperMsg)
{
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphanumeric(elem, helperMsg)
{
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp))
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

function isTelnumber(elem, helperMsg)
{
var uInput = elem.value;
if(uInput.length == 11)
{
return true;
}
else
{
alert(helperMsg);
elem.focus();
return false;
}
}

function lengthRestriction(elem, min, max)
{
var uInput = elem.value;
if(uInput.length >= min && uInput.length <= max)
{
return true;
}
else
{
alert("Please enter between " +min+ " and " +max+ " characters");
elem.focus();
return false;
}
}

function madeSelection(elem, helperMsg)
{
if(elem.value == "Selec. Tipo Proveedor")
{
alert(helperMsg);
elem.focus();
return false;
}
else
{
return true;
}
}


function emailValidator(elem, helperMsg)
{
alert("El problema esta aqui")
}


</script>

Y me dio este resultado q ves en esta captura de pantalla:

http://i47.photobucket.com/albums/f195/warbandit69/CapturaPantallaSistemaInventario.png
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar