http://people.ischool.berkeley.edu/~nick/aaronson-oracle/index.html
Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Imágenes de dados
Ejercicios resueltos
<div >
<h1 >Validar número de teléfono</h1>
<p>Introduzca el teléfono</p>
<input type="text" id="telefono" >
<input type="button" id="botonvalidar" value="Validar">
<div id="resultado"></div>
</div>
<script>
document.getElementById("botonvalidar").addEventListener("click", validar);
function validar(){
var telefono=document.getElementById('telefono').value;
var mensaje;
if (telefonoValido(telefono)){
mensaje="El teléfono es válido: "+formatTelefono(telefono);
} else{
mensaje="Hay algún error con el número de teléfono";
}
document.getElementById('resultado').innerHTML=mensaje;
}
function telefonoValido(telefono) {
if (telefono.length !== 9) {
return false;
}
for (var i = 0; i < telefono.length; i++) {
var cifra = telefono.charAt(i);
if (!esCifra(cifra)) {
return false;
}
}
return true;
}
function esCifra(letra) {
var cifras = "0123456789";
var pos = cifras.indexOf(letra);
return pos !== -1 && letra.length === 1;
}
function esCifra2(letra) {
if (letra >= "0" && letra <= "9" && letra.length == 1) {
return true;
} else {
return false;
}
}
function esCifra3(letra) {
return !isNaN(letra) && letra.length == 1;
}
function buscar() {
var cadena = document.getElementById("cadena").value;
document.getElementById("resultado").innerHTML = invertir(cadena);
}
function formatTelefono(telefono) {
return telefono.substr(0, 3) + "-" + telefono.substr(3, 3) + "-" + telefono.substr(6, 3);
}
function formatTelefono2(telefono) {
return telefono.slice(0, 3) + "-" + telefono.slice(3, 6) + "-" + telefono.slice(6, 9);
}
function invertir(cadena) {
var res = "";
for (var i = cadena.length - 1; i >= 0; i--) {
res += cadena.substr(i, 1);
}
return res;
}
function cifValido(cif) {
var letra = cif.charAt(0);
var numeros = cif.slice(1);
if (esLetra(letra) && digitosValido(numeros)) {
return true;
} else {
return false;
}
}
function esLetra(letra) {
letra = letra.toLowerCase();
if (letra >= "a" && letra <= "z" && letra.length == 1) {
return true;
} else {
return false;
}
}
function digitosValido(numero) {
if (numero.length !== 8) {
return false;
}
for (var i = 0; i < numero.length; i++) {
var cifra = numero.charAt(i);
if (!esCifra(cifra)) {
return false;
}
}
return true;
}
function masLarga(cadena1, cadena2) {
if (cadena1.length > cadena2.length) {
return cadena1;
} else {
return cadena2;
}
}
function quitaVocales(cadena) {
var res = "";
for (var i = 0; i < cadena.length; i++) {
var letra = cadena.charAt(i); //cadena.substr(i,1) cadena.slice(i,i+1)
//Si esa letra no es vocal la añado a res y si no no hago nada
if (!esVocal(letra)) {
res += letra;
}
}
return res;
}
function contarVocales(cadena) {
var res = 0;
for (var i = 0; i < cadena.length; i++) {
var letra = cadena.charAt(i);
if (esVocal(letra)) {
res++;
}
}
return res;
}
function esVocal(letra) {
letra = letra.toLowerCase();
if (letra == "a" || letra == "e" || letra == "i" || letra == "o" || letra == "u") {
return true;
} else {
return false;
}
}
function esVocalGuay(letra) {
var vocales = "aeiouáéíóúàèìòùäëïöü";
var pos = vocales.indexOf(letra.toLowerCase());
/* if (pos === -1) {
return false;
} else {
return true;
}*/
return pos !== -1;
}
function esVocalApretao(letra) {
return "aeiouáéíóúàèìòùäëïöü".indexOf(letra.toLowerCase()) !== -1 && letra.length === 1;
}
Ejercicios javascript
Función que dado un número de teléfono nos diga si es válido (true) o no (false). Un número de teléfono es válido si tiene una longitud de nueve cifras y todas son números. Ejemplo: telefonoValido(«666999666»)->true telefonoValido(«33666999666»)->false
Función que dado un número de teléfono válido nos lo muestre en formato xxx-xxx-xxx. Ejemplo: formatTelefono(«666999666»)-> «666-999-666»
Función que nos diga si un cif es válido o no. Los cifs válidos con una letra+8 caracteres. Ejemplo: cifValido(‘B12345678’)->true
Escribe una función a la que le pasemos dos cadenas y nos devuelva la más larga. Ejemplo: masLarga(«hola,»,»adios»)->»adios»
Funciones javascript cadena
function invertir(cadena) {
var res = "";
for (var i = cadena.length - 1; i >= 0; i--) {
res += cadena.substr(i, 1);
}
return res;
}
function quitaVocales(cadena) {
var res = "";
for (var i = 0; i < cadena.length; i++) {
var letra = cadena.charAt(i); //cadena.substr(i,1) cadena.slice(i,i+1)
//Si esa letra no es vocal la añado a res y si no no hago nada
if (!esVocal(letra)) {
res += letra;
}
}
return res;
}
function esVocal(letra) {
letra = letra.toLowerCase();
if (letra == "a" || letra == "e" || letra == "i" || letra == "o" || letra == "u") {
return true;
} else {
return false;
}
}
function esVocalGuay(letra) {
var vocales = "aeiouáéíóúàèìòùäëïöü";
var pos = vocales.indexOf(letra.toLowerCase());
/* if (pos === -1) {
return false;
} else {
return true;
}*/
return pos!==-1;
}
function esVocalApretao(letra){
return "aeiouáéíóúàèìòùäëïöü".indexOf(letra.toLowerCase())!==-1 && letra.length===1;
}
Chat
<div >
<h1 >Búsqueda</h1>
<p>La cadena y la cadena a buscar</p>
<input type="text" id="pajar" >
<input type="button" id="botonbuscar" value="¿Válido?">
<div id="resultado"></div>
</div>
<script>
document.getElementById("botonbuscar").addEventListener("click", buscar);
function buscar() {
var pajar = document.getElementById("pajar").value;
var pos = pajar.indexOf("cacahuete");
if (pos===-1){
document.getElementById("resultado").innerHTML += pajar+"<br/>";
}
}
</script>
Búsqueda de palabras
<div >
<h1 >Búsqueda</h1>
<p>La cadena y la cadena a buscar</p>
<input type="text" id="pajar" >
<input type="text" id="aguja" >
<input type="button" id="botonbuscar" value="Buscar">
<div id="resultado"></div>
</div>
<script>
document.getElementById("botonbuscar").addEventListener("click", buscar);
function buscar() {
var pajar = document.getElementById("pajar").value;
var aguja = document.getElementById("aguja").value;
document.getElementById("resultado").innerHTML = "";
var pos = pajar.indexOf(aguja);
while (pos !== -1) {
document.getElementById("resultado").innerHTML += pos + " ";
pos = pajar.indexOf(aguja,pos+1);
}
}
</script>
Ejemplo variables globales
<div >
<h1 >Almacen de sumas</h1>
<p>Introduce el número del que quieres sumar</p>
<input type="number" id="numero" >
<input type="button" id="botoncalcular" value="Sumar">
<input type="button" id="botondeshacer" value="Deshacer" style="display:none">
<div id="resultado"></div>
</div>
<script>
document.getElementById("botoncalcular").addEventListener("click", calcular);
document.getElementById("botondeshacer").addEventListener("click", deshacer);
var total = 0;
var numero;
function calcular() {
numero = parseInt(document.getElementById("numero").value)
total += numero;
document.getElementById("resultado").innerHTML = total;
document.getElementById("botondeshacer").style.display="";
}
function deshacer() {
total -= numero;
document.getElementById("resultado").innerHTML = total;
document.getElementById("botondeshacer").style.display="none";
}
</script>
Tabla de multiplicar
<div >
<h1 >Tabla de multiplicar</h1>
<p>Introduce el número del que quieres la tabla</p>
<input type="number" id="numero" >
<input type="button" id="botoncalcular" value="Calcular">
<div id="resultado"></div>
</div>
<script>
document.getElementById("botoncalcular").addEventListener("click", calcular);
function calcular() {
var numero = parseInt(document.getElementById("numero").value);
var res = tabla(numero);
document.getElementById("resultado").innerHTML = res;
}
function tabla(numero) {
var res = "<table>";
for (var i = 1; i <= 10; i++) {
res += "<tr><td>" + i + "</td><td>x</td><td>" + numero +
"</td><td>=</td><td>" + (i * numero) + "</td></tr>";
}
res += "</table>";
return res;
}
</script>
Interaccionar con la página
<div id="seccion">
<h1 id="cabecera">Formulario</h1>
<input type="text" id="texto">
<input type="button" onclick="cambiar()" value="pincha">
</div>
<script>
function cambiar() {
var texto=document.getElementById("texto").value;
document.getElementById("cabecera").innerHTML=texto;
}
</script>
<div id="seccion">
<h1 id="cabecera">Formulario</h1>
<input type="text" id="nombre" onkeyup="cambiar()">
<input type="text" id="apellidos" onkeyup="cambiar()">
<p id="resultado"></p>
</div>
<script>
function cambiar() {
var nombre = document.getElementById("nombre").value;
var apellidos = document.getElementById("apellidos").value;
document.getElementById("resultado").innerHTML = nombre + " " + apellidos;
}
</script>
<div id="seccion">
<h1 id="cabecera">Formulario</h1>
<input type="text" id="nombre" onchange="cambiar()" onfocus="aviso('nombre')">
<input type="text" id="apellidos" onchange="cambiar()" onfocus="aviso('apellido')">
<p id="resultado"></p>
<p id="ayuda"></p>
</div>
<script>
function aviso(texto){
document.getElementById("ayuda").innerHTML="Introduzca el "+texto;
}
function cambiar() {
var nombre = document.getElementById("nombre").value;
var apellidos = document.getElementById("apellidos").value;
document.getElementById("resultado").innerHTML += nombre + " " + apellidos+"<br/>";
}
</script>
<div id="seccion">
<h1 id="cabecera">Formulario</h1>
<input type="text" id="nombre" >
<input type="text" id="apellidos" >
<p id="resultado"></p>
<p id="ayuda"></p>
</div>
<script>
document.getElementById("nombre").addEventListener("change", cambiar);
document.getElementById("apellidos").addEventListener("change", cambiar);
function cambiar() {
var nombre = document.getElementById("nombre").value;
var apellidos = document.getElementById("apellidos").value;
document.getElementById("resultado").innerHTML += nombre + " " + apellidos + "<br/>";
}
</script>
<div >
<h1 >Fibonacci</h1>
<p>Introduce el número que quieres calcular</p>
<input type="number" id="numero" >
<input type="button" id="botoncalcular" value="Calcular">
<p id="resultado"></p>
</div>
<script>
document.getElementById("botoncalcular").addEventListener("click", calcular);
function calcular(){
var numero=parseInt(document.getElementById('numero').value);
var f=fibonacci(numero);
document.getElementById('resultado').innerHTML=f.toLocaleString();
}
function fibonacci(numero) {
var a = 0, b = 1, c = 1;
for (var i = 2; i <= numero; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
</script>