validar solo regulares regular nombre letras expresiones expresion espacios espacio eliminar contraseña blanco alfanumerico javascript regex

solo - validar nombre javascript expresion regular



Alfanumérico, guión y guión bajo, pero sin espacios, expresión regular verifica JavaScript (5)

Tratando de verificar la entrada contra una expresión regular.

El campo solo debe permitir caracteres alfanuméricos, guiones y guiones bajos y NO debe permitir espacios.

Sin embargo, el siguiente código permite espacios.

¿Qué me estoy perdiendo?

var regexp = /^[a-zA-Z0-9/-/_]$/; var check = "checkme"; if (check.search(regexp) == -1) { alert(''invalid''); } else { alert(''valid''); }


Sin embargo, el siguiente código permite espacios.

No, no lo hace. Sin embargo, solo coincidirá en la entrada con una longitud de 1. Para las entradas con una longitud mayor o igual a 1, necesita un + después de la clase de caracteres:

var regexp = /^[a-zA-Z0-9-_]+$/; var check = "checkme"; if (check.search(regexp) == -1) { alert(''invalid''); } else { alert(''valid''); }

Tenga en cuenta que ni el - (en este caso) ni el _ necesitan escapar.


Esta sintaxis es un poco más concisa que las respuestas que se han publicado hasta este punto y logra el mismo resultado:

let regex = /^[/w-]+$/;


No debe usar String.match sino RegExp.prototype.test (es decir, /abc/.test("abcd") ) en lugar de String.search () si solo está interesado en un valor booleano. También debes repetir tu clase de personaje como se explica en la respuesta de Andy E:

var regexp = /^[a-zA-Z0-9-_]+$/;


No escapar del guión bajo. Podría estar causando algo de extrañeza.


Tiene error estúpido. Así que publica aquí, si alguien lo encuentra útil

  1. -/._ - significa guión, punto y subrayado
  2. /.-_ - significa todos los signos en el rango de punto a subrayado