¿Cómo verificar que la string dada sea palíndromo usando JavaScript?

Un palíndromo es una palabra, oración o incluso un número que se lee igual desde atrás y desde adelante. Por lo tanto, si tomamos la entrada, invertimos la string y verificamos si la string invertida y la string original son iguales, significa que la string es un palíndromo, de lo contrario, no lo es.

Acercarse:

  1. Cuando el usuario hace clic en el botón Enviar, ejecutamos una función de JavaScript.
  2. Primero convertimos la string a minúsculas.
  3. Luego, dividimos la string en una array usando el método split() para que pueda revertirse usando el método reverse() .
  4. Luego unimos la array de nuevo a una string usando el método join().
  5. Por último, comprobamos que la string de entrada y la string invertida sean iguales o no. Actualizaremos la salida en consecuencia.

Ejemplo:

index.html

<!DOCTYPE html>
<html>
  
<head>
    <style>
        body {
            background-color: grey;
        }
  
        .container {
            background-color: #00ffff;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 60vh;
            width: 80vw;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            border-radius: 25px;
            box-shadow: 2px 31px 35px -15px
                        rgba(0, 0, 0, 0.1);
            padding: 10px;
        }
  
        .pallindrome {
            width: 500px;
        }
  
        .input-container {
            text-align: center;
            margin: 30px 0;
  
        }
  
        .btn-container {
            text-align: center;
        }
  
        input {
            width: 70%;
            border: none;
            padding: 15px;
            font-size: 1.1rem;
            border-radius: 10px;
        }
    </style>
  
  
</head>
  
<body>
    <div class="container">
        <div class="pallindrome">
            <header>
                <h1>Palindrome checking using
                    CSS and JavaScript</h1>
            </header>
            <div class="main">
                <div class="input-container">
  
                    <!-- Place to input the string -->
                    <input type="text" placeholder="Enter...">
                </div>
                <div class="btn-container">
  
                    <!-- Button that will activate the check  -->
                    <button>Check</button>
                </div>
                <div>
                    <b>Input String: </b>
                    <span class="input-string"></span>
                    <br>
                    <b>Reversed String: </b>
                    <span class="reversed-string"></span>
                    <p class="output-text"></p>
  
                </div>
            </div>
        </div>
    </div>
    <script src="script.js"></script>
</body>
  
</html>

script.js

// Getting the elements from DOM
const btncheck = document.querySelector("button");
const str = document.querySelector("input");
const inputString = document.querySelector(".input-string");
const reverseString = document.querySelector(".reversed-string");
const outputText = document.querySelector(".output-text");
  
// Adding event listener when the
// user clicks on the "Check" button
btncheck.addEventListener("click", (e) => {
    e.preventDefault();
  
    // Converting the input string to smallcase
    const input = str.value.toLocaleLowerCase();
  
    // Split the string into an array
    const string = input.split("");
  
    // Reversing the array
    const rearray = string.reverse();
  
    // Join the array back to a string
    const reversedString = rearray.join("");
  
    inputString.textContent = input;
    reverseString.textContent = reversedString;
  
    // Checking the input string and
    // reversed string if they are the same
    if (input == reversedString) {
        outputText.textContent = 
          "The input string is a pallindrome!";
    } else {
        outputText.textContent = 
          "The input string is not a pallindrome";
    }
  
    // Reset the input value
    str.value = "";
});

Producción:

Publicación traducida automáticamente

Artículo escrito por deep089 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *