X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/1481a58e991e9ed54d6cba23e82184eaca48f9fe..HEAD:/src/lib.js diff --git a/src/lib.js b/src/lib.js index 6879d47..ac95325 100644 --- a/src/lib.js +++ b/src/lib.js @@ -13,6 +13,29 @@ function vacio(f) return false; } +// Devuelve 1 si el campo f tiene más de max caracteres, -1 si tiene menos +// de min caracteres y 0 si está entre max y min. Si max o min es negativo, +// no se chequea por un máximo o mínimo respectivamente. +function min_max_cant(f, min, max) +{ + if (min >= 0 && f.value.length < min) return -1; + if (max >= 0 && f.value.length > max) return 1; + return 0; +} + +function es_email(f) +{ + if (f.value.match(/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g)) return true; + return false; +} + +function es_numero(f) +{ + if (f.value.match(/^\d+$/g)) return true; + return false; +} + +// Verifica si el campo f está vacío, dando un error con el nombre n si lo está. function check_vacio(f, n) { if (vacio(f)) @@ -22,4 +45,51 @@ function check_vacio(f, n) return false; } return true; -} \ No newline at end of file +} + +// Verifica si el campo f tiene entre max y min caracteres (ver min_max_cant). +// Si hay un error se usa el nombre de campo n para el mensaje. +function check_min_max_cant(f, n, min, max) +{ + switch (min_max_cant(f, min, max)) + { + case 1: + alert('El campo ' + n + ' debe tener a lo sumo ' + max + ' caracteres!'); + f.focus(); + return false; + case -1: + alert('El campo ' + n + ' debe tener al menos ' + min + ' caracteres!'); + f.focus(); + return false; + } + return true; +} + +// Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei +// n para el mensaje de error. +function check_iguales(f1, f2, n) +{ + if (f1.value == f2.value) return true; + alert('No coinciden los valores del campo ' + n + '!'); + f1.focus(); + return false; +} + +// Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei +// n para el mensaje de error. +function check_email(f, n) +{ + if (es_email(f)) return true; + alert(f.value + ' no es una dirección de e-mail válida!'); + f.focus(); + return false; +} + +// Verifica si el campo f tiene un número natural. +function check_numero(f, n) +{ + if (es_numero(f)) return true; + alert('El campo ' + n + ' no es un número natural!'); + f.focus(); + return false; +}