var fields = {
userName: false,
phoneNumber: false,
userEmail: false
};
var f = function(){
switch (this.id) {
case 'userName':
fields[this.id] = this.value.match(...) ? true : false;
break;
case 'phoneNumber':
fields[this.id] = this.value.match(...) ? true : false;
break;
case 'userEmail':
fields[this.id] = this.value.match(...) ? true : false;
break;
}
var sum = 0;
for (var key in fields) {
sum += fields[key] ? 1 : 0;
}
sum === 3 && alert('message')
};
$('#userName').change(f);
$('#phoneNumber').change(f);
$('#userEmail').change(f);
Если необходимо. можно подвесить функцию f на keyup события, чтобы отслеживать при каждом нажатии клавиши, однако это не решает проблем при использовании мыши для редактирования содержимого поля