1// validaci� de correu. 2// Validacions que efectua 3// - que existeixi nom d'usuari,domini i extensi� 4// - que hi hagi l'@ i el . a on toca ([email protected]) 5// - domini minim 2 digits 6// - extensi� minim 2 digits 7// - que no contingui espais 8// retorna cert si el correu est� ben format 9function mail_correcte(mail) 10{ 11 var 12 er_ae = /^.+\@.+.+\..+.+$/, 13 dada; 14 15 if (!er_ae.test(mail)) 16 { 17 return false; 18 } 19 20 dada = mail; 21 22 if (dada.indexOf(' ')!=-1) 23 { 24 return false; 25 } 26 27 return true; 28} 29 30 31// mira si un element est� dins d'un array 32function in_array(cadena,array_cerca) 33{ 34 var len = array_cerca.length; 35 36 for ( var x = 0 ; x <= len ; x++ ) 37 { 38 if ( array_cerca[x] == cadena ) 39 return true; 40 } 41 return false; 42} 43 44 45function imatge_correcte(nom,extensions) 46{ 47 if (nom!= "") 48 { 49 nom = nom.toLowerCase(); 50 parts_nom = nom.split("."); 51 extensions = String(extensions) 52 extensions_array = extensions.split(","); 53 54 // agafem el darrrer element (extensio) 55 extensio_fitxer = parts_nom.pop(); 56 57 58 return in_array(extensio_fitxer,extensions_array); 59 60 } 61 else 62 return true; 63} 64 65 66 67// Validaci� de luhn (Cal haver comprovat previament que li passes un n�mero de 16 d�gits!!!) 68function validacio_luhn(cardNumber) 69{ 70 var sum = 0 ,digit = 0,addend = 0,modulus = 0,parells = 0, j=0; 71 72 for (i = 0; i <16; i++) 73 { 74 j++; 75 digit = cardNumber.charAt(i); 76 if (parells == 0) 77 { 78 addend = (digit * 2); 79 if (addend > 9) 80 { 81 addend -= 9; 82 } 83 } 84 else 85 { 86 addend = digit * 1; //Ho he posat perqu� a vegades m'el tractava com a string 87 } 88 sum = sum + addend; 89 if (parells == 0) 90 { 91 parells = 1; 92 } 93 else 94 { 95 parells = 0; 96 } 97 98 } 99 100 modulus = sum % 10; 101 return modulus == 0; 102} 103 104/* 105 Comprovem si el numero introduit es un NIF o DNI per a despres cidar a la funcio 106 que comprobara si es tracta d'un numero correcte en cada cas 107 108 @param: numero Conte el numero a validar 109 110 @return: bol True si el numero es valid, false si el numero no es valid 111*/ 112function nif_cif_correcte(numero) 113{ 114 var resultat = true; 115 // Primer hem de saber si es un NIF o un DNI 116 var lletra = numero.substring(0,1); 117 118 if(isNaN(lletra)) 119 { 120 // Si es una lletra es tracta d'un CIF 121 resultat = cif_correcte(numero); 122 } 123 else 124 { 125 // Si es un numero es tracta d'un NIF 126 resultat = nif_correcte(numero); 127 } 128 129 return resultat; 130} 131 132// Valida si el NIF indicat es correcte 133function nif_correcte(numero) 134{ 135 var retorna = true; 136 137 var dni = numero.substring(0,numero.length-1); 138 var lletra = numero.charAt(numero.length-1); 139 140 if (!isNaN(lletra)) 141 { 142 // Falta la lletra 143 retorna = false; 144 } 145 else 146 { 147 var cadena = "TRWAGMYFPDXBNJZSQVHLCKET"; 148 var posicion = dni % 23; 149 var lletra_valida = cadena.substring(posicion,posicion+1); 150 151 if (lletra_valida!=lletra.toUpperCase()) 152 { 153 // Nif no valid 154 retorna = false; 155 } 156 } 157 158 return retorna; 159} 160 161// Valida si un cif introduit es correcte 162function cif_correcte(cif) 163{ 164 var retorna = true; 165 var par = 0; 166 var non = 0; 167 var lletras="ABCDEFGHKLMNPQS"; 168 var lletra = cif.charAt(0) 169 170 if (!isNaN(lletra)) 171 { 172 // Falta la lletra 173 retorna = false; 174 } 175 176 if (cif.length != 9) 177 { 178 // El Cif ha de tinde 9 digits 179 retorna = true; 180 } 181 182 if (lletras.indexOf(lletra.toUpperCase()) == -1) 183 { 184 // El comienzo del Cif no es v�lido 185 retorna = false; 186 } 187 188 for (var zz=2;zz<8;zz+=2) 189 { 190 par = par + parseInt(cif.charAt(zz)); 191 } 192 193 for (var zz=1;zz<9;zz+=2) 194 { 195 var nn = 2 * parseInt(cif.charAt(zz)); 196 if (nn > 9) 197 nn = 1+(nn-10); 198 non = non+nn; 199 } 200 201 var parcial = par + non; 202 203 var control = (10 - ( parcial % 10)); 204 205 if (control==10) 206 control=0; 207 208 if (control != cif.charAt(8)) 209 { 210 // El Cif no es valid 211 retorna = false; 212 } 213 return retorna; 214}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.