function isInteger(fld, name) { var val = fld.value; for (var i = 0; i < val.length; i++) { var cod = val.charCodeAt(i); if ((cod < 48 || cod > 58)) { alert(name + ' Может содержать только цифры! '); fld.value = val.substring(0, i); } } } function isFloat(fld) { var ret = true; var val = fld.value; var hasDot = false; for (var i = 0; i < val.length; i++) { if (val.charCodeAt(i) == 44) { if (val.charCodeAt(i - 1) != 46) { val = val.substring(0, i) + '.'; fld.value = val; } } var cod = val.charCodeAt(i); if (((cod < 48 || cod > 58 ) && cod != 46) || ( cod == 46 && hasDot )) { alert('Не верный ввод!'); fld.value = val.substring(0, i); ret = false; } if (cod == 46) { hasDot = true; if (i == 0) { fld.value = '0.'; } } } return ret; } function loginCheck() { var login_min_value = 3; var login = document.getElementById('login'); login.value = trimGaps(login.value); if (login.value.length < login_min_value) { insWarning('wrongLogin', 'Логин дожен быть не менее 3 символов.', 'req_error'); return false; } else { removeWarning('wrongLogin'); return true; } } function checkName(name) { new Ajax.Updater("login_check", "/reg/existuser.jsp", {asynchronous:true, method:"get", parameters: "loginauth="+name, evalScripts: true}); } function validatePassword(el, id, validateConfirm) { if(! el) return false; if (validateConfirm && el.value != "") validateConfirmPassword(document.getElementById(id), el.id); if (el.value.length < 5) { insWarning('wrongPass', 'Пароль должен содержать не менее 5 символов.', 'req_error'); return false; } else removeWarning('wrongPass'); return true; } function validateConfirmPassword(el, id) { if(! el) return false; else if (el.value != document.getElementById(id).value) { insWarning('wrongPass2', 'Ошибка подтверждния пароля!', 'req_error'); return false; } else removeWarning('wrongPass2'); return true; } function emailCheck() { var email=document.getElementById('email').value; var result = validateEmail(email); if (result) removeWarning('wrongEmail'); else insWarning('wrongEmail', 'Неверно задан формат электронной почты.', 'req_error'); return result; } function checkForm(el, id) { if(document.getElementById('charter').checked) { removeWarning('charterNotChecked'); var allValid = true; allValid = loginCheck() && allValid; allValid = validatePassword(document.getElementById('pwrdHandler'), 'pwrd2Handler', true) && allValid; allValid = validateConfirmPassword(document.getElementById('pwrd2Handler'), 'pwrdHandler') && allValid; allValid = emailCheck() && allValid; if (! document.getElementById('sex_male').checked && ! document.getElementById('sex_female').checked) { insWarning('wrongSex', 'Не выбран пол', 'req_error'); allValid = false } if ( parseInt(document.getElementById('birth_date').value) == 0 || parseInt(document.getElementById('birth_month').value) == 0 || parseInt(document.getElementById('birth_year').value) == 0 ) { insWarning('wrongDate', 'Не выбран день рожднения', 'req_error'); allValid = false } updater( 'req_error', '/reg/checkEmailAndLogin.jsp?allValid=' + (allValid ? 'true' : ''), serializeForm('req1')); } else insWarning('charterNotChecked', 'Не изучен устав', 'req_error'); } function validateEmail(email) { var emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/; return emailpat.test( email ); } //проверка валидности почтового адреса - уже не используется function emailCondition(email) { var result=false; var gav=email.indexOf("@"); var dot=email.indexOf("."); if(email.length>= 6 && gav > 0 && dot > 0) { var subs1=email.substring(0, gav); var subs2=email.substring(gav+1, dot); var subs3=email.substring(dot+1); if(subs1.length > 0 && subs2.length > 1 && subs3.length >1) if(validateField(subs1) && validateField(subs2) && validateField(subs3)) { result = true; removeWarning('wrongEmail'); } } if (!result) insWarning('wrongEmail', 'Неверно задан формат электронной почты.', 'req_error'); return result; } // проверка на символы function validateField(val) { // alert(val); for (var i = 0; i < val.length; i++) { var cod = val.charCodeAt(i); if ( (cod < 48 || cod > 58) && ( cod < 65 || cod >90 ) && (cod < 97 || cod > 122) ) { alert('Допускаются только символы английского алфавита и цифры!'); el.value=val.substring(0, i); return false; } } return true; } // Проверка ввода в форму смены пароля function checkPassForm(){ if( ! validatePassword(document.getElementById('newpass'), 'newpass1', true) ) return false; if( ! validateConfirmPassword(document.getElementById('newpass1'), 'newpass') ) return false; return true; }