PageSourceSearch

https://www.gamesaktuell.de/bcommon/community/popup/registration.js

js gamesaktuell.de collected 2026-10-02 05:21:04 UTC 10,973 bytes, 417 lines download raw bytes

1var iRegPwdStrengh = 0;
2/*
3 *
4 */
5function checkEmailFormat(email){
6	var emailReg = /^[A-Z0-9._%\-]+@[A-Z0-9._%\-]+\.[A-Z]{2,4}$/i;
7	
8	var emailRegBad = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // E-Mail nix gut!
9	var emailRegGood = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/ ; // E-Mail gut!
10
11	if (!emailRegBad.test(email) && emailRegGood.test(email))
12	{ 
13		return true;
14	}
15	return false;	
16}
17/*
18 *
19 */
20function checkPassEqual(pass1,pass2){
21	return (pass1 != pass2) ? false : true;
22}
23/*
24 * Source:
25 * http://stackoverflow.com/questions/948172/password-strength-meter
26 */
27function scorePassword(pass) {
28    var iScore = 0;
29    if (!pass || !pass.length)
30        return iScore;
31
32    // award every unique letter until 5 repetitions
33    var oLetters = new Object();
34    for (var i=0; i<pass.length; i++) {
35        oLetters[pass[i]] = (oLetters[pass[i]] || 0) + 1;
36        iScore += 4.0 / oLetters[pass[i]];
37    }
38
39    // bonus points for mixing it up
40    var oVariations = {
41        digits: /\d/.test(pass),
42        lower: /[a-z]/.test(pass),
43        upper: /[A-Z]/.test(pass),
44        nonWords: /\W/.test(pass),
45    }
46
47    var iVariationCount = 0;
48    for (var check in oVariations) {
49        iVariationCount += (oVariations[check] == true) ? 1 : 0;
50    }
51    iScore += (iVariationCount - 1) * 10;
52
53    return parseInt(iScore);
54}
55/*
56* Check changed password input for password strength
57*/
58function passwordChanged() {
59	
60	var oStrField = document.getElementById('strength');
61	var oPwdField = document.getElementById("i_password");
62	var iScore = 0, sText, sColor, sBGColor;
63	
64	if( oPwdField && oPwdField.value && oPwdField.value.length > 0) {
65		iScore = scorePassword(oPwdField.value);
66	}
67
68	if( iScore > 66 ) {
69		sText = 'Stark!';
70		sColor = 'green';
71		iRegPwdStrengh = 2;
72	} else if ( iScore >= 40 && iScore <= 66 ) {
73		sText = 'Mittel!';
74		sColor = 'orange';
75		iRegPwdStrengh = 1;
76	} else if ( iScore >= 20 && iScore < 40 ) {
77		sText = 'Schwach!';
78		sColor = '#ff0000';
79		iRegPwdStrengh = 0;
80	} else {
81		sText = 'Unsicher!';
82		sColor = '#ff0000';
83		iRegPwdStrengh = 0;
84	}
85	oStrField.innerHTML = '<span style="color:'+sColor+'" title="Score: '+iScore+'">'+sText+'</span>';
86	
87	return iRegPwdStrengh;
88}
89 /*
90function passwordChanged() {
91	var strength = document.getElementById('strength');	
92	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
93	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
94	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
95	var pwd = document.getElementById("i_password");
96	if (pwd.value.length==0) {
97	strength.innerHTML = 'kein Passwort';
98	iRegPwdStrengh = 0;
99	} else if (false == enoughRegex.test(pwd.value)) {
100	strength.innerHTML = 'mindestens 6 Zeichen erforderlich';
101	iRegPwdStrengh = 0;
102	} else if (strongRegex.test(pwd.value)) {
103	strength.innerHTML = '<span style="color:green">Stark!</span>';
104	iRegPwdStrengh = 2;
105	} else if (mediumRegex.test(pwd.value)) {
106	strength.innerHTML = '<span style="color:orange">Mittel!</span>';
107	iRegPwdStrengh = 1;
108	} else {
109	strength.innerHTML = '<span style="color:red">Schwach!</span>';
110	iRegPwdStrengh = 0;
111	}
112} 
113*/
114/*
115 *
116 */
117function checkForm() {
118	
119	var strEmailPregBad = /\s/;
120	var username = jQuery("#i_login");
121	var strUsername = jQuery.trim(username.val());
122	var email1 = jQuery("#i_email");
123	var email2 = jQuery("#i_email_check");
124	var strEmail1 = jQuery.trim(email1.val());
125	var strEmail2 = jQuery.trim(email2.val());
126	var strPassword = jQuery.trim(jQuery("#i_password").val());
127	var strPasswordCheck = jQuery.trim(jQuery("#i_password_check").val());
128	var agbaproval = jQuery("#agbaproval");
129		
130	if (!checkusername(username)){
131		return false;
132	}
133
134	if (strPassword == ""){
135		$.prompt("Du musst ein Passwort setzen. Bitte wähle ein Passwort und versuche es erneut.",{ buttons:{Ok:true},zIndex:9900});
136		return false;
137	}
138	
139	if(strPassword!=strPasswordCheck){
140		$.prompt("Passwort-Eingaben stimmen nicht überein.",{ buttons:{Ok:true},zIndex:9900});
141		jQuery("#i_password_check").val("");
142		return false;
143	}
144	
145	if(strEmailPregBad.test(strPassword)){
146		$.prompt("Das Passwort darf KEIN Leerzeichen enthalten.",{ buttons:{Ok:true},zIndex:9900});
147		jQuery("#i_password_check").val("");
148		return false;
149	}
150	
151	if (strPassword.toLowerCase() == strUsername.toLowerCase()) {
152		$.prompt('<h3>Problem</h3><p>Passwort ist identisch mit Login. Bitte wähle ein anderes Passwort.</p>',{ buttons:{Ok:true},zIndex:9900});
153		return false;
154	}
155	
156	if (strPassword.toLowerCase() == strEmail1.toLowerCase()) {
157		$.prompt('<h3>Problem</h3><p>Passwort ist identisch mit der E-Mail-Adresse. Bitte wähle ein anderes Passwort.</p>',{ buttons:{Ok:true},zIndex:9900});
158		return false;
159	}
160	
161	if(iRegPwdStrengh == "0") {
162		$.prompt('<h3>Problem</h3><p>Passwort muss mindestens die Passwortstärke Mittel aufweisen.</p>',{ buttons:{Ok:true},zIndex:9900});
163		return false;
164	}
165	
166	if (!checkemailunique(email1,email2)){
167		return false;
168	}
169	
170	if (jQuery('#agbaproval:checked').length==0){
171		$.prompt("Du musst den AGB zustimmen, um mit der Registrierung fortzufahren.",{ buttons:{Ok:true},zIndex:9900});
172		return false;
173	}
174
175	return true;
176}
177/*
178 *
179 */
180function cleartext(str){
181	var re = /[\l\r\n\t]+/g;
182	str = str.replace(re,'');
183	
184	var re2 = /(^\s+|\s+$)/g;
185	str = str.replace(re2,'');
186	
187	return str;
188}
189
190/*
191 * Check if email is unique
192 * @param email jquery object of field which contains email address
193 */
194function checkemailunique(email1,email2){
195	var strEmail1 = jQuery.trim(email1.val());
196	var strEmail2 = jQuery.trim(email2.val());
197	if (strEmail1==""){
198		alert("E-Mail-Adresse fehlt. Bitte gebe Dein E-Mail-Adresse an und versuchen es erneut.");
199		return false;
200	}
201	
202	if(strEmail1.toLowerCase()!=strEmail2.toLowerCase()){
203		alert("E-Mail Eingaben stimmten nicht überein.");
204		email2.val("");
205		return false;
206	}	
207			
208	if (!checkEmailFormat(strEmail1)){
209		alert("E-Mail-Adresse ungültig. Bitte überprüfe Deine Eingaben und versuche es erneut.");
210		return false;
211	}
212	
213	if (!checkemailbl(strEmail1)){
214		alert("Diese E-Mail-Adresse kann leider nicht für die Registrierung verwendet werden. Bitte wähle eine andere E-Mail-Adresse und versuche es erneut.");
215		return false;
216	}
217			
218	var retval = false;
219	jQuery.ajax(
220		{
221			type: "GET",
222			async: false,
223			cache: false,
224			timeout: 1000,			
225			url:"/webservices/community/popup/registration/registration.cfm?do=ce",			
226			data: {
227				email:strEmail1
228			},
229			success: function(data,textStatus){
230				if (cleartext(data).toLowerCase()=="yes"){
231					jQuery("#isemailunique").val("1");
232					//alert("Hooray!");
233					retval = true;
234				}
235				else{
236					alert("Diese E-Mail-Adresse wird bereits für einen anderen Community-Account verwendet. Bitte wähle eine andere E-Mail-Adresse und versuche es erneut.");
237					jQuery("#isemailunique").val("0");
238					retval = false;
239				}
240			},
241			error: function(XMLHttpRequest, textStatus, errorThrown){
242				retval = false;
243			}
244		}
245	);
246	
247	return  retval;		
248}
249
250function checkemailbl(email){
251	var retval = false;
252	jQuery.ajax(
253		{
254			type: "GET",
255			async: false,
256			cache: false,
257			timeout: 1000,			
258			url:"/webservices/community/popup/registration/registration.cfm?do=cebl",			
259			data: {
260				email:email
261			},
262			success: function(data,textStatus){
263				if (cleartext(data).toLowerCase()=="no"){					
264					retval = true;
265				}
266				else{										
267					retval = false;
268				}
269			},
270			error: function(XMLHttpRequest, textStatus, errorThrown){
271				retval = false;
272			}
273		}
274	);
275	
276	return  retval;		
277}
278
279
280function checkusername(username){
281	
282	var strUsername = jQuery.trim(username.val());
283	
284	if (strUsername ==""){
285		alert("Username fehlt. Bitte wähle Deinen Usernamen und versuche es erneut.");
286		return false;
287	}
288	
289	if (strUsername.search(/^[A-Za-z0-9-]+$/) == -1) {
290   		alert("Username enthält ungültige Zeichen.");
291		return false;
292	}
293	
294	var retval = false;
295	jQuery.ajax(
296		{
297			type: "GET",
298			async: false,
299			cache: false,
300			timeout: 1000,
301			url: "/webservices/community/popup/registration/registration.cfm?do=cu",
302			data: {
303				uname: strUsername
304			},
305			success: function(data){
306				// console.log(cleartext(data));
307				if (cleartext(data).toLowerCase() == "yes") {
308					jQuery("#isloginunique").val("1");
309					//alert("Hooray!");
310					retval = true;
311				}
312				else {
313					alert("Der gewählte Username ist bereits vergeben. Bitte wähle einen anderen Usernamen und versuche es erneut.");
314					jQuery("#isloginunique").val("0");
315					retval = false;
316				}
317			}
318		}
319	);
320	
321	return retval;
322}	
323
324jQuery(document).ready(
325	function(){
326		jQuery("#sendButton").click(
327			function(){
328				if (!checkForm()) {
329					return;
330				}
331				var retval = false;
332				var data = jQuery("#formular").serializeArray();
333				jQuery.ajax(
334					{
335						type: "POST",
336						async: false,
337						cache: false,
338						timeout: 1000,					
339						url:"/webservices/community/popup/registration/registration.cfm?do=reg",
340						data : data,
341						success: function(data){
342							retval = true;
343						},
344						error: function(XMLHttpRequest, textStatus, errorThrown){
345							retval = false;
346						}
347					}
348				);
349				
350				if (retval){
351					
352					var newLogin = jQuery("#i_login").val();
353					var newPass = jQuery("#i_password").val();					
354					
355					try {
356						var win = ColdFusion.Window.getWindowObject('winRegistrieren');
357						ColdFusion.Window.onHide('winRegistrieren',
358										function(){
359											ColdFusion.Window.destroy('winRegistrieren', true);
360										}
361									);
362						alert('Vielen Dank für Deine Registrierung. Du erhälst in Kürze eine E-Mail zur Bestätigung Deine Anmeldung. Bitte klicke auf den Link in dieser E-Mail, um Deine Anmeldung abzuschließen.');
363						win.hide();
364					} 
365					catch (e)
366					{
367						alert('Vielen Dank für Deine Registrierung. Du erhälst in Kürze eine E-Mail zur Bestätigung Deine Anmeldung. Bitte klicke auf den Link in dieser E-Mail, um Deine Anmeldung abzuschließen.');
368						self.close();
369					}
370					/*
371					var frm = jQuery("#loginForm");
372					if (frm.length > 0) {
373						var un = jQuery("#Login");
374						var pass = jQuery("#Password");
375						un.val(newLogin);
376						pass.val(newPass);
377						frm.submit();
378					}*/
379				}
380				else{
381					alert("Ein Fehler ist aufgetreten. Bitte überprüfe Deine Eingaben und wende Dich ggf. an unseren Support.");
382				}
383			}
384		);
385		
386		
387		jQuery("#verifyusername").click(
388			function(){
389				if (checkusername(jQuery("#i_login"))){
390					alert("Username ok!");
391				}
392				return false;
393			}
394		);			
395
396		jQuery("#verifyemail").click(
397			function(){
398				if (checkemailunique(jQuery("#i_email"),jQuery("#i_email_check"))){
399					alert("E-Mail ok!");
400				}
401				return false;
402			}
403		);
404
405		jQuery("#i_password_check").blur(
406			function(){
407				var pass1 = jQuery("#i_password");
408				var pass2 = jQuery(this);
409				if(pass1.val()!=pass2.val()){
410					alert("Passwort-Eingaben stimmten nicht überein.");
411					pass2.val("");
412					return;
413				}				
414			}
415		);
416	}
417);

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.