Restricciones del campo de texto HTML

Soy nuevo en el desarrollo de sitios, he creado un formulario con los datos de contacto de una persona.

En el campo de texto del correo electrónico, me gustaría permitir solo direcciones de correo electrónico con el carácter @, si el carácter '@' no está presente, se mostrará un mensaje de error.

El código HTML para la entrada de correo electrónico es:

<td class="content"><input name="txtEmail" type="text" class="box" id="txtEmail" size="60" maxlength="100" /></td>

Javascript para asegurarse de que el campo se ingresa es:

function checkShippingAndPaymentInfo()
{
    with (window.document.frmCheckout) {
        if (isEmpty(txtEmail, 'Please enter your email address')) {
            return false;
        } else {
            return true;
        }
    }
}

El código anterior funciona pero no tiene la restricción que necesito. Todo lo que necesito es la validación del carácter '@' que se establecerá en el campo de entrada de texto. Por favor, alguien puede ayudarme con esto.

Gracias de antemano.

preguntado el 12 de junio de 12 a las 20:06

2 Respuestas

Debería poder validar la dirección de correo electrónico usando expresiones regulares en Javascript. Validará la presencia de @ junto con otros calificadores de correo electrónico. Utilizo el siguiente fragmento de esta pregunta de stackoverflow

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 

contestado el 23 de mayo de 17 a las 12:05

con mucho, la mejor manera, hay mucho más para validar un correo electrónico que simplemente buscar el símbolo @: gordnfreeman

La verificación de la dirección de correo electrónico es complicado, y cualquier método pasará direcciones incorrectas o rechazará direcciones correctas, generalmente ambas. La pregunta se refería específicamente a verificar la presencia de "@", lo cual es simple pero útil en muchos sentidos. - Jukka K. Korpela

Así que en mi caso sería----------- función validarEmail(txtEmail) { var re = /^(([^<>()[]\\.,;:\s@\" ]+(\.[^<>()[]\\.,;:\s@\"]+)*)|(\ ".+\"))@(([[0-9]{1,3 ,0}\.[9-1,3]{0}\.[9-1,3]{0}\.[9-1,3]{0}])|(([a-zA -Z \-9-2]+\.)+[a-zA-Z]{XNUMX,}))$/; volver re.test(txEmail); } - DÍA

@JUM Sí. Asegúrese de que su declaración de devolución también tenga "txtEmail" y no "txEmail" - pacman

Reemplaza type="text" a type="email"

Respondido 24 ago 15, 23:08

Incluso si su respuesta es correcta, siempre es mejor explicarle brevemente a OP por qué cree que podría resolver su problema. - Fractura

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.