regexp - javascript regex test



Verifique se uma string corresponde a uma expressão regular em JS (4)

Aqui está um exemplo que procura por certas tags HTML, então está claro que /someregex/.test() retorna um booleano:

if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');

https://src-bin.com

Eu quero usar JavaScript (pode ser com jQuery) para fazer alguma validação do lado do cliente para verificar se uma string corresponde ao regex:

^([a-z0-9]{5,})$

Idealmente, seria uma expressão que retornasse verdadeiro ou falso.

Eu sou um novato JavaScript, match() faz o que eu preciso? Parece verificar se parte de uma string corresponde a uma regex, não a coisa toda.


Answer #1

Use /youregexp/.test(yourString) se você quiser apenas saber se sua string corresponde ao regexp.


Answer #2

Use o método test() :

var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
    console.log("Valid");
} else {
    console.log("Invalid");
}

Answer #3

Você pode usar match() também:

if (str.match(/^([a-z0-9]{5,})$/)) {
    alert("match!");
}

Mas test() parece ser mais rápido, como você pode ler here .

Diferença importante entre match() e test() :

match() funciona apenas com strings, mas test() também funciona com inteiros.

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




match