Quiero verificar si mi cadena solo tiene letras, números o guiones bajos. tengo este codigo
const str = 'test' for (let i = 0; i < str.length; i++) { if (str.charAt(i) != /^(\w|_)+$/) { return false } }Pase lo que pase, siempre devuelve falso aunque solo introduce valores válidos.
¿Alguien podría ayudar?
¡Muchas gracias!
Simplemente use test() con el patrón regex ^\w+ :
var str = 'test_here_123'; if (/^\w+$/.test(str)) { console.log("only letters, numbers, or underscore"); } Como referencia, \w por definición coincide con letras, números o guiones bajos (que se conocen colectivamente como "caracteres de palabras").