function anadirCerosIdPedido(id) { /**- Función que añade ceros para la visualización del identificador del pedido **/ var longitud = 8-(id.length); var identificador = ""; for(var i=0; i= 10) d = d - 10; if(!(/^\d{1}$/.test(lnControl))){ $.each(letraControl,function(index,value){ if(d == index) d = value; }); } } var bandera = false; if(/^[ABCDEFGHKLMNPQS]$/.test(letraCIF)) bandera = true; //Se comprueba que el formato es válido var mensaje = ""; if((lnControl != d && d != null) || !bandera || cif.length != 9) { frag = false; $("#"+parametros[i].id).focus(); mensaje += "CIF incorrecto."; $("#"+parametros[i].id_error).html(mensaje); $("#"+parametros[i].id_error).show(); } } break;*/ case "condicionesCheck": var mensaje = ""; if(parametros[i].valor != null && parametros[i].valor == 0) { frag = false; $("#"+parametros[i].id).focus(); mensaje +=" Debe aceptar las codiciones."; $("#"+parametros[i].id_error).html(mensaje); $("#"+parametros[i].id_error).show(); } break; /*case "cp": var mensaje = ""; if(parametros[i].valor != null && (parametros[i].valor.length != 5 || isNaN(parametros[i].valor))) { frag = false; $("#"+parametros[i].id).focus(); mensaje += "Código postal erróneo."; $("#"+parametros[i].id_error).html(mensaje); $("#"+parametros[i].id_error).show(); } break;*/ /*case "dni": if(parametros[i].valor != null && parametros[i].valor != '') { //Valor de la variable de entrada. var dni = parametros[i].valor; //Se separan los números de la letra var letraDNI = dni.substring(8, 9); var numDNI = parseInt(dni.substring(0, 8)); //Se calcula la letra correspondiente al número var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T']; var letraCorrecta = letras[numDNI % 23]; //Se comprueba que el formato es válido var mensaje = ""; if(!(/^\d{8}[a-zA-Z]$/.test(dni))){ frag = false; $("#"+parametros[i].id).focus(); mensaje += "El número de caracteres es erróneo. Asegúrese de introducir los 0 al inicio. DNI incorrecto." $("#"+parametros[i].id_error).html(mensaje); $("#"+parametros[i].id_error).show(); break; } if(letraDNI.toUpperCase() != letraCorrecta) { frag = false; $("#"+parametros[i].id).focus(); mensaje += "DNI incorrecto."; $("#"+parametros[i].id_error).html(mensaje); $("#"+parametros[i].id_error).show(); } } break;*/ case "edad": if(parametros[i].valor != null && parametros[i].valor != '') { var edad = calcularEdad(parametros[i].valor); if(edad < 18){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Lo sentimos mucho, pero las personas menores de edad no pueden blablabla."); $("#"+parametros[i].id_error).show(); } } break; case "email": if(parametros[i].valor != null && parametros[i].valor != '' && !validarEmail(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Correo electrónico incorrecto."); $("#"+parametros[i].id_error).show(); } break; case "fecha": if(parametros[i].valor != null && parametros[i].valor != ''){ var fecha = parametros[i].valor.split("/"); if(fecha.length != 3 || fecha[2].length != 4) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Formato incorrecto, debe introducir una fecha válida."); $("#"+parametros[i].id_error).show(); } } break; case 'infoDireccion': if(parametros[i].valor.length > 300){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Campo limitdo a 300 caracteres."); $("#"+parametros[i].id_error).show(); } break; case "numero": if(parametros[i].valor != null && parametros[i].valor != '' && !validarNumero(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Formato incorrecto, debe introducir un valor numérico."); $("#"+parametros[i].id_error).show(); } break; case "numeroNoNulo": if(parametros[i].valor != null && parametros[i].valor != '' && !(/\d{9}/.test(parametros[i].valor)) && parseInt(parametros[i].valor) == 0){ frag = false; $("#"+parametros[i].id).focus(); //$("#"+parametros[i].id_error).html("Debe introducir un número mayor que 0."); $("#"+parametros[i].id_error).show(); } break; case "numeroObligatorio": if(parametros[i].valor != null && parametros[i].valor != '' && !(/\d{9}/.test(parametros[i].valor)) && parseInt(parametros[i].valor) == 0){ frag = false; $("#"+parametros[i].id).focus(); //$("#"+parametros[i].id_error).html("Debe introducir un número mayor que 0."); $("#"+parametros[i].id_error).show(); } break; case "password": if(parametros[i].valor != null && parametros[i].valor != '' && !validarPassword(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Formato incorrecto, debe introducir más de 6 caracteres."); $("#"+parametros[i].id_error).show(); } break; case "puntuacion": if(parametros[i].valor != null && parametros[i].valor != '' && !validarPuntuacion(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("La puntuación debe estar entre el 1 y 10."); $("#"+parametros[i].id_error).show(); } break; case "telefono": if(parametros[i].valor != null && parametros[i].valor != '' && !validarTelefono(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).html("Debe introducir un número válido."); $("#"+parametros[i].id_error).show(); } break; default: break; } } return frag; } function formateoCamposFormulario(parametros){ /**- Función que valida el formato del dato en función de su tipo @param parametros: array json con valor, tipo de dato, id del campo, id del label de error @return Booleano. **/ var frag = true; for(var i=0; i= 10) d = d - 10; if(!(/^\d{1}$/.test(lnControl))){ $.each(letraControl,function(index,value){ if(d == index) d = value; }); } } //Se comprueba que el formato es válido if(lnControl != d && d != null) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } var bandera = false; if(/^[ABCDEFGHKLMNPQS]$/.test(letraCIF)) bandera = true; if(!bandera) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } if(cif.length != 9){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } } break; case "condicionesCheck": if(parametros[i].valor != null && parametros[i].valor == 0) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "cp": if(parametros[i].valor != null && (parametros[i].valor.length != 5 || isNaN(parametros[i].valor))) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "dni": if(parametros[i].valor != null && parametros[i].valor != '') { //Valor de la variable de entrada. var dni = parametros[i].valor; //Se separan los números de la letra var letraDNI = dni.substring(8, 9); var numDNI = parseInt(dni.substring(0, 8)); //Se calcula la letra correspondiente al número var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T']; var letraCorrecta = letras[numDNI % 23]; //Se comprueba que el formato es válido if(!(/^\d{8}[a-zA-Z]$/.test(dni))){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } if(letraDNI.toUpperCase() != letraCorrecta) { frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } } break; case "edad": if(parametros[i].valor != null && parametros[i].valor != '') { var edad = calcularEdad(parametros[i].valor); if(edad < 18){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } } break; case "email": if(parametros[i].valor != null && parametros[i].valor != '' && !validarEmail(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "numero": if(parametros[i].valor != null && parametros[i].valor != '' && !validarNumero(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "password": if(parametros[i].valor != null && parametros[i].valor != '' && !validarPassword(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "puntuacion": if(parametros[i].valor != null && parametros[i].valor != '' && !validarPuntuacion(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; case "telefono": if(parametros[i].valor != null && parametros[i].valor != '' && !validarTelefono(parametros[i].valor)){ frag = false; $("#"+parametros[i].id).focus(); $("#"+parametros[i].id_error).show(); } break; default: break; } } return frag; } function formatoImagen(imagen){ /**- Función que cambia la extensión jpeg por jpg @param imagen: nombre y extensión del archivo @return imagen: nombre con extensión cambiada **/ var formato = imagen.split("."); if(formato[1] == "jpeg") formato[1] = "jpg"; return imagen = formato[0]+"."+formato[1]; } function formatoFechaBBDD(fechaDMY){ /**- Función que recoge una fecha en formato español y la convierte a formato de BBDD @param fechaDMY: Fecha en formato español @return fecha: Fecha en formato de BBDD. **/ var f = fechaDMY.split("/"); var d = f[0]; var m = f[1]; var y = f[2]; var fecha = (y+"-"+m+"-"+d); return fecha; } function formatoFechaBBDDdesdeDate(fechaDate){ /**- Función que recoge un tipo Date y devuelve una fecha en formato BBDD cadena de texto; @param fechaDate: Objeto Date @return fecha: cadena de texto **/ var y = fechaDate.getFullYear(); var m = (fechaDate.getMonth()+1); var d = fechaDate.getDate(); var fecha = y+"-"+m+"-"+d; return fecha; } function formatoFechaHTMLdesdeDate(fechaDate){ /**- Función que recoge un tipo Date y devuelve una fecha en formato BBDD cadena de texto; @param fechaDate: Objeto Date @return fecha: cadena de texto **/ var y = fechaDate.getFullYear(); var m = (fechaDate.getMonth()+1); var d = fechaDate.getDate(); var fecha = d+"-"+m+"-"+y; return fecha; } function formatoPrecioHTML(precio){ /**- Función que recibe un número en formato php y lo devuelve en formato html @param precio, precio en formato php. @return p, precio en formato html. **/ var p = parseFloat(precio).toFixed(2); var partes = p.toString().split("."); if(partes.length == 2) { if(partes[1].length == 1) p = partes[0]+","+partes[1]+"0 €"; else if(partes[1].length == 2) p = partes[0]+","+partes[1]+" €"; } else if(partes.length == 1) p = partes[0]+",00 €"; return p; } function formatoPrecioLibrasHTML(precio){ /**- Función que recibe un número en formato php y lo devuelve en formato html @param precio, precio en formato php. @return p, precio en formato html. **/ var p = parseFloat(precio).toFixed(2); var p = p.replace(",","."); var partes = p.toString().split("."); if(partes.length == 2) { if(partes[1].length == 1) p = partes[0]+","+partes[1]+"0 £"; else if(partes[1].length == 2) p = partes[0]+","+partes[1]+" £"; } else if(partes.length == 1) p = partes[0]+",00 £"; return p; } function formatoPrecioPHP(precio){ /**- Función que recibe un número en formato html y lo devuelve en formato php @param precio, precio en formato html. @return p, precio en formato php. **/ var p = parseFloat(precio).toFixed(2); return p; } function insertAfter(e,i){ /**- Función que inserta un elemento dom justo detrás que otro @param e, primer elemento hijo ante el cual queremos insertar un nuevo elemento. @param i, elemento a insertar. **/ if(e.nextSibling){ e.parentNode.insertBefore(i,e.nextSibling); } else { e.parentNode.append(i); } } function intercambioCodigoIdiomaCodigoDivisa(codigo) { /**- Función que intercambia el código del idioma por su carrespondiente código de divisas. @param codigo, el código del idioma. @return divisa, el código de la divisa. **/ var codigos = new Array(); codigos['es'] = 'EUR'; codigos['en'] = 'GBP'; var divisa = codigos[codigo]; return divisa; } function limpiarCampos(idcampos){ /**- Función que limpia los campos de inputs @param idcampos: array de identificadores de los campos a limpiar **/ for(var i=0; i()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; if(regex.test(email)) { return true; } else { return false; } } function validarNumero(numero){ /**- Función que testea si una variable es número o no @param numero: Variable a testear @return Booleano. **/ let regex = /^\d{1,2}$/; if (regex.test(numero)){ return true; }else{ return false; } } function validarPassword(parametro){ /**- Función que valida la longitud de una contraseña @param parametro: Contraseña. @return Booleano **/ if(parametro.length < 6) return false; else return true; } function validarPuntuacion(parametro){ /**- Función que acota el valor de las puntuaciones entre 1 y 10 @param parametro: puntuación @return Booleano **/ if(parametro < 1 || parametro > 10) return false; else return true; } function visualizarFecha(fechaYMD){ /**- Función que convierte la fecha obtenida de BBDD en una fecha española @param fechaYMD: Fecha en formato de BBDD @return fecha en formato español **/ var f = fechaYMD.split("-"); var y = f[0]; var m = f[1]; var d = f[2]; return (d+"/"+m+"/"+y); } function validarTelefono(telefono) { const regex = /[a-zA-Z]/; if(regex.test(telefono)) return false; const telefonoRegex = /^([\+\#\s\d\-]*)*$/; if(telefonoRegex.test(telefono)) return true; else false; }