Estoy tratando de crear una función que verifique la entrada de los usuarios si tiene la entrada del administrador. Sigue mostrándose correcto incluso si es incorrecto, pero cuando codifico el valor de la entrada del usuario y el administrador verifica si la salida es correcta o incorrecta. Quiero que los usuarios ingresen el valor y verifiquen si es correcto o incorrecto.
var str = document.getElementById('user'); var str2 = document.getElementById('admin'); var reg = new RegExp(str2.value, "i"); var result = str.value.match(reg); function sample() { if (result) { document.getElementById('checker').innerHTML = "correct"; } else { document.getElementById('checker').innerHTML = "wrong"; } } <textarea id="admin" placeholder="admin" rows="5"></textarea> <textarea id="user" placeholder="user" rows="5"></textarea> <textarea id="checker"></textarea> <br> <button style="height: 50px; width: 100px;" onclick="sample()">Check</button>str2.value y str.value no tienen ningún valor dentro de su función sample() ya que no están definidos en el alcance de la función. Las líneas de código donde se leen estos valores de los cuadros de texto de entrada deben colocarse dentro del cuerpo de la función sample() .
Otro problema es que cuando verifica si un movimiento contiene otra cadena con una expresión regular, debe tener en cuenta los caracteres especiales en str2.value . Sin escapar adecuadamente , ( o ? , o incluso . generaría un comportamiento no deseado. Puede usar una solución simple que no sea expresión regular de Contiene una publicación que no distingue entre mayúsculas y minúsculas aquí, ya que está usando valores de cadena fijos aquí.
function sample() { var str = document.getElementById('user'); var str2 = document.getElementById('admin'); if (str.value.toUpperCase().indexOf(str2.value.toUpperCase()) === -1) { document.getElementById('checker').innerHTML = "correct"; } else { document.getElementById('checker').innerHTML = "wrong"; } } <textarea id="admin" placeholder="admin" rows="5"></textarea> <textarea id="user" placeholder="user" rows="5"></textarea> <textarea id="checker"></textarea> <br> <button style="height: 50px; width: 100px;" onclick="sample()">Check</button>