HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux Bradford-Sitios 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/middleware-citas/resources/views/validator-password.blade.php
<script nonce="{{ app('csp_nonce') }}">
    function validateFieldsPassword(texto, id, msg = 'Campo Obligatorio') {
        const passwordPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_@]).{8,}$/;
        let messages = [];

        if ($("#" + id)) {
            if (texto !== '') {
                if (id == 'password' || id == 'password_confirm') {
                    if (id == 'password' && !passwordPattern.test(texto)) {
                        $("#" + id).css('border-color', 'red');
                        if (texto.length < 8) messages.push('<li>La contraseña debe tener al menos 8 caracteres.</li>');
                        if (!/[A-Z]/.test(texto)) messages.push(
                            '<li>La contraseña debe tener al menos una letra mayúscula.</li>');
                        if (!/[a-z]/.test(texto)) messages.push(
                            '<li>La contraseña debe tener al menos una letra minúscula.</li>');
                        if (!/\d/.test(texto)) messages.push('<li>La contraseña debe tener al menos un número.</li>');
                        if (!/[\W_]/.test(texto)) messages.push(
                            '<li>La contraseña debe tener al menos un carácter especial.</li>');
                        $("#invalid_" + id).html(`Contraseña inválida`);
                        showPasswordAlert(messages);
                        return 0;
                    } else {
                        if (id == 'password_confirm') {
                            if ($('#password').val() !== texto) {
                                $("#" + id).css('border-color', 'red');
                                $("#invalid_" + id).text('Las contraseñas no coinciden');
                                return 0;
                            } else {
                                $("#" + id).css('border-color', '');
                                $("#invalid_" + id).text('');
                                return 1;
                            }
                        } else {
                            if (id == 'password') {
                                if ($('#password_confirm').val() !== texto) {
                                    $("#" + id).css('border-color', '');
                                    $("#invalid_" + id).text('');
                                    $("#password_confirm").css('border-color', 'red');
                                    $("#invalid_password_confirm").text('Las contraseñas no coinciden');
                                    hidePasswordAlert();
                                    return 0;
                                } else {
                                    $("#" + id).css('border-color', '');
                                    $("#invalid_" + id).text('');
                                    $("#password_confirm").css('border-color', '');
                                    $("#invalid_password_confirm").text('');
                                    hidePasswordAlert();
                                    return 1;
                                }
                            }
                        }
                    }
                } else {
                    $("#" + id).css('border-color', '');
                    $("#invalid_" + id).text('');
                    hidePasswordAlert();
                    return 1;
                }
            } else {
                $("#" + id).css('border-color', 'red');
                $("#invalid_" + id).text(msg);
                // hidePasswordAlert();
                return 0;
            }
        }
    }

    function showPasswordAlert(messages) {
            $("#password-alert").html(`<ul style="list-style-type: circle;padding: 8px;">${messages.join('')}</ul>`).show();
        }

        function hidePasswordAlert() {
            $("#password-alert").hide();
        }
</script>