javascript - regulares - Compruebe si una cadena coincide con una expresión regular en JS
expresiones regulares online (6)
Quiero usar JavaScript (puede ser con jQuery) para hacer una validación del lado del cliente para verificar si una cadena coincide con la expresión regular:
^([a-z0-9]{5,})$
Lo ideal sería que fuera una expresión que devolviera verdadero o falso.
Soy un novato en JavaScript, ¿ match()
hace lo que necesito? Parece comprobar si parte de una cadena coincide con una expresión regular, no todo.
Aquí hay un ejemplo que busca ciertas etiquetas HTML para que quede claro que /someregex/.test()
devuelve un booleano:
if(/(span|h[0-6]|li|a)/i.test("h3")) alert(''true'');
También puedes usar match()
:
if (str.match(/^([a-z0-9]{5,})$/)) {
alert("match!");
}
Pero test()
parece ser más rápido como puedes leer here .
Diferencia importante entre match()
y test()
:
match()
funciona solo con cadenas, pero test()
funciona también con enteros.
12345.match(/^([a-z0-9]{5,})$/); // ERROR
/^([a-z0-9]{5,})$/.test(12345); // true
/^([a-z0-9]{5,})$/.test(null); // false
// Better watch out for undefined values
/^([a-z0-9]{5,})$/.test(undefined); // true
Use /youregexp/.test(yourString)
si solo quiere saber si su cadena coincide con la /youregexp/.test(yourString)
.
Use regex.test()
si todo lo que quiere es un resultado booleano:
/^([a-z0-9]{5,})$/.test(''abc1''); // false
/^([a-z0-9]{5,})$/.test(''abc12''); // true
/^([a-z0-9]{5,})$/.test(''abc123''); // true
... y puede eliminar el ()
de su expresión regular ya que no necesita una captura.
Utilice el método de test()
:
var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
console.log("Valid");
} else {
console.log("Invalid");
}
let str = ''ABCDEFGHIJKLMNOPQRSTUVWXYZ'';
let regexp = /[a-d]/gi;
console.log(str.match(regexp));