PageSourceSearch

https://vilassar.cat/estil2/js/validacions.js

js vilassar.cat collected 2026-10-02 22:03:23 UTC 4,004 bytes, 214 lines download raw bytes

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.