Проверка ввода не дает добавить пользователя. Что-то не так в функции ValidateUser.
Нужен свежий взгляд, у меня уже мозг потек
var usersData = [];
function ValidateUser (id, name, email) {
    //language=JSRegexp
    const nameRegExp = /[a-zA-Z]+/g;
    const emailRegExp = /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/;
    const idCheck = (id > usersData.length || id < usersData[0] || id === undefined || id === "");
    const nameCheck = (name === undefined || !(name.match(nameRegExp)));
    const emailCheck = (email === undefined || !(email.match(emailRegExp)));
    return idCheck;
    return nameCheck;
    return emailCheck
}
function AddUser (name, email) {
    if (ValidateUser()) {
        return false
    } else {
        usersData.push({
            id: GetNewUserId(),
            name: name,
            email: email
        });
        return true;
    }
}
function GetNewUserId () {
    if (usersData.id === 0) {
        usersData.id = 1;
    } else {
        var maxId = usersData.reduce((max, item) => item.id > max ? item.id : max, 0);
    }
    return maxId + 1;
}
function UpdateUser (id, name, email) {
    if (ValidateUser()) {
        return false;
    }
    else {
        for (var index = 0; index < usersData.length; index++) {
            if (usersData[index].id === id) {
                usersData[index].email = email;
                usersData[index].name = name;
                break;
                return true;
            }
        }
    }
}
function DeleteUser (id) {
    if (ValidateUser()) {
        return false;
    }
    else {
        for (var index = 0; index < usersData.length; index++) {
            if (usersData[index].id === id) {
                usersData.splice(index, 1);
                return true;
            }
        }
    }
}
function ShowUsers () {
    usersData.forEach(function (item) {
        console.log(item);
    });
}