441
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / JavaScript expresiones regulares Paréntesis encontrar patrones cadenas CU01155E
« en: 21 de Febrero 2016, 22:16 »
A continuación colgaré la solución del ejercicio CU01155E del curso JavaScript desde cero.
Antes de proceder quiero decir que dicho ejercicio coincide con el ejercicio de la entrega CU01142E del mismo curso. Supongo que nos hacen hacer de nuevo el ejercicio porque ahora sabemos más métodos de JavaScript.
Y el código:
Os dejo también el enlace de la solución del ejercicio CU01142E del mismo curso:
https://www.aprenderaprogramar.com/foros/index.php?topic=3935.msg16672#msg16672
Gracias
Antes de proceder quiero decir que dicho ejercicio coincide con el ejercicio de la entrega CU01142E del mismo curso. Supongo que nos hacen hacer de nuevo el ejercicio porque ahora sabemos más métodos de JavaScript.
Citar
EJERCICIO
Crea un documento HTML (página web) donde exista un formulario que se envíe por el método GET. Se pedirá al usuario que introduzca nombre, apellidos y correo electrónico. Define dentro de la etiqueta form que cuando se produzca el evento onsubmit (pulsación del botón de envío del formulario) se ejecute una función a la que denominaremos validacionConExpReg que no recibe parámetros.
La función validar debe realizar estas tareas y comprobaciones utilizando expresiones regulares:
a) Comprobar que el nombre contiene al menos tres letras. Si no es así, debe aparecer un mensaje por pantalla indicando que el texto no cumple tener al menos tres letras. Por ejemplo si se trata de enviar Ka como nombre debe aparecer el mensaje: “El nombre no cumple tener al menos tres letras”.
b) Comprobar que el correo electrónico contiene el carácter @ (arroba) y el carácter . (punto). De no ser así, deberá aparecer un mensaje indicando que al correo electrónico le falta uno o ambos caracteres. Por ejemplo si se trata de enviar pacogmail.com deberá aparecer el mensaje: “Falta el símbolo @ en el correo electrónico”.
c) Antes de enviarse los datos del formulario a la página de destino, todas las letras del correo electrónico deben transformarse a minúsculas. Por ejemplo si se ha escrito PACO@GMAIL.COM debe enviarse paco@gmail.com
d) Antes de enviarse los datos del formulario a la página de destino, si el correo electrónico contiene la subcadena “ at “ debe reemplazarse por el símbolo @. Por ejemplo si se ha escrito paco at gmail.com debe enviarse paco@gmail.com
Y el código:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="description" content="Curso JavaScript"/>
<meta name="keywords" content="programar,cursos,JavaScript,aprenderaprogramar.com"/>
<link rel="stylesheet" type="text/css" href="CU01142E.css"/>
<script type="text/javascript">
function validar(){
var nodoNombre = document.getElementById('nombre').value;
var nodoApellido = document.getElementById('apellidos').value;
var nodoCorreo = document.getElementById('email').value;
var pattern1 = /\w{3}/;
var pattern2 = /[@]/;
var pattern3 = /[.]/;
if(nodoNombre.match(pattern1) == null){
alert('El nombre no cumple tener al menos tres letras');
}
if(nodoCorreo.match(pattern2) == null && nodoCorreo.match(pattern3) == null){
alert('Faltan los símbolos @ y . en el correo electrónico');
}else if(nodoCorreo.match(pattern3) == null){
alert('Falta el símbolo . en el correo electrónico');
}else if( nodoCorreo.match(pattern2) == null){
alert('Falta el símbolo @ en el correo electrónico');
}
nodoCorreo = nodoCorreo.replace(/at/g,'@');
nodoCorreo = nodoCorreo.toLowerCase();
alert(nodoCorreo);
}
</script>
</head>
<body>
<div id="contenedor">
<form name="formulario1" method="get" onsubmit="validar()">
<h2>Formulario ejemplo cadenas Texto</h2>
<label for="nombre"><span>Nombre:</span><input type="text" id="nombre" name="nombre"></input></label>
<label for="apellidos"><span></span>Apellidos:<input type="text" id="apellidos" name="apellidos"></input></label>
<label for="email"><span>Correo Electrónico:</span><input type="text" id="email" name="email"></input></label>
<label><input type="submit" value="Enviar"></input><input type="reset" value="Cancelar"></input></label>
</form>
</div>
</body>
</html>
Os dejo también el enlace de la solución del ejercicio CU01142E del mismo curso:
https://www.aprenderaprogramar.com/foros/index.php?topic=3935.msg16672#msg16672
Gracias