Другие языки программирования и технологии

как можно сократить этот js код?

Начал учить javascript и, для любопытства, написал код проверки формы, чтобы сравнить его с кодом, написанным на php.
Можно ли его как-то сократить? (!код рабочий! )
function check(){
var login=document.getElementById('log');
var pass1=document.getElementById('pass1');
var mailLogin=document.getElementById('mailLogin');
var mailDomen=document.getElementById('mailDomen');
//проверка логина
if(login.value==''){
alert('Введите логин! ')
};
//проверка e-mail адреса
if(mailLogin.value=='' || mailDomen.value=='' || mailLogin.value && mailDomen.value=='' ){
alert('Введите корректный адресс электронной почты! ')
};
//проверка пароля
if(pass1.value=='')
alert('введите пароль! ');
if(pass1.value && mailLogin.value && mailDomen.value){
var pass2=prompt('Введите подтверждение пароля');
if (pass2 && pass1.value!=pass2)
alert('пароли не совпадают!!! ')
}
//проверка закончена. отправка
if(pass1.value==pass2)
document.getElementById('butt').type='submit'
}
Так, сократил довольно хорошо, чуть меньше чем в 2 раза сократилось. По скольку статус еще ученик, не могу отсылать латиницу, отправил в личном сообщении код.
Меружан Восканян
Меружан Восканян
791
Лучший ответ
Если по хорошему с сохранением нормального вида и не извращаясь:

function getID(id){
    return document.getElementById(id);
}

var login=getID('log'), pass=getID('pass1'), mailLogin=getID('mailLogin'), mailDomen=getID('mailDomen');

if(!login.value) alert('Введите логин! ');
if(!mailLogin.value || !mailDomen.value) alert('Введите корректный адресс электронной почты! ');
if(!pass.value) alert('введите пароль! ');

var passRe = prompt('Введите подтверждение пароля');
if(!passRe || pass.value!=passRe) alert('пароли не совпадают!!! ');
    else getID('butt').type='submit';

P.S. Денис Приписнов, а заодно еще +91 Кб лишнего кода и потеря некоторых важных знаний JS)
можно ) я бы и сам обработчик не назвал достаточно корректным чтоб его еще и сокращать =3 таки дела

потом вывод алертами это вообще кака, после первого я от вас уйду )

и ко всему форма будет отправлена независимо от того заполнена она или нет ) , поэтому и сокращать ее смысла нет )
Напиши сокр. функцию для document.getElementById., чтобы передавать туда значения.
например:
....бла бла бла.. .

function ge(x){
return document.getElementById(x);
}
var mailLogin = ge('mailLogin');
....
Примерно так.
Используйте фрэймворк jQuery. Например запись

var login = document.getElementById('mailLogin');
var pass1=document.getElementById('pass1');
var mailDomen = document.getElementById('mailDomen');
...
if(mailLogin.value=='' || mailDomen.value=='' || mailLogin.value && mailDomen.value=='' ){
...

будет выглядеть:

var mailLogin = $('#mailLogin').val();
var pass1 = $('#pass1').val();
var mailDomen = $('#mailDomen').val();

if(mailLogin == '' || mailDomen == '' || mailLogin && mailDomen == '' ){
...
Никак