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.