roger-melo-treinamentos / curso-de-js-roger-melo

Repositório de informações do CJRM
491 stars 171 forks source link

Resumo da Aula 01-05 da etapa 05 #465

Closed diegobaena89 closed 3 years ago

diegobaena89 commented 3 years ago

Método test() - Um método RegExp que testa uma correspondência em uma string. Retorna true ou false.

retorno: boolean true - se a string corresponde à expressão false - se a string não corresponde à expressão

"Use test() sempre que você quiser saber se um padrão está dentro de uma string[...]" (MDN)

//verifica se "hello" está presente no início de uma string, retornando um booleano como resultado.

const str = 'hello world!';
const result = /^hello/.test(str);
console.log(result); // true

Método search() - O método search() realiza uma busca por uma ocorrência entre uma expressão regular e uma String.

sintaxe: str.search(regexp)

onde:

regexp Um objeto contendo uma expressão regular. Se um objeto obj for passado como parâmetro e não for do tipo RegExp, ele será implicitamente convertido para uma RegExp através da instrução new RegExp(obj). (MDN)

let str = "hey JudE"
let re = /[A-Z]/g
let reDot = /[.]/g
console.log(str.search(re))    // retorna 4, que é o índice da primeira letra maiúscula "J"
console.log(str.search(reDot)) // retorna -1 pois não conseguiu encontrar o ponto "."

Mais exemplos de uso do search()

let str = "Olá Mundo!";
let n = str.search(/mundo/i);
console.log(n);
//retornará 4, que é a posição da palavra na string

const form = document.querySelector('.signup-form')
// const usernameInput = document.queryselector('#username')

form.addEventListener('submit', event => {
  event.preventDefault()

  console.log(event.target.username.value)
})
const username = 'rogerms'

O quantificador mostra que a sequencia de caracteres precisa ter, pelo menos, 6 caracteres

``js const pattern = /^[a-z]{6,}$/


Toda RegExp tem um método chamado test()

```js
const isAMatch = pattern.test(username) //armazena um boolean

 if(isAMatch){
 console.log('o teste da RegEx passou :) ')
 } else {
   console.log('o teste da regEx não passou :(')
 }

 console.log(isAMatch) 

O search é um método de string e recebe como argumento a regex que queremos testar

const result = username.search(pattern)

O valor que a invocação do search retorna, é um numero inteiro que corresponde à posição ao index no qual o match aconteceu console.log(result) Quando o match não acontece, o search retorna -1. Quando dá match, o search retorna 0

@Roger-Melo

Roger-Melo commented 3 years ago

Boa @diegobaena89! Rumo à fluência! 🔥