JSFiddle - React, Tailwind, and code Playground

HTML

<input type="text" value="" id="field" />
<input type="button" value="Buscar!" onclick="search()" />
<pre>Exs.:</pre>
<pre>01/01/2001</pre>
<pre>8 de Março de 2008</pre>
<pre>01 de Jan de 2017</pre>
<pre>4/Agosto/1995</pre>
<pre>12 Julho 1995</pre>
<pre>fev/2007 que seria o equivalente a 1/2/2007</pre>
<pre>10/1998 que seria o equivalente a 1/10/1998</pre>
/\ Tente em qualquer um desses formatos :).
Não funciona no padrão Americano: 25/02/2001, 10/10/2015

JavaScript

function search() {
  try {
    // Recebe a data escrita no campo field
    dataSend = document.getElementById('field').value;
    // Se a data tiver menos que 8 caracteres, retorna erro
    if (dataSend.length < 7) {
      throw new Error('Entre com uma data');
    }
    // Chama a função que remove os caracteres nao necessarios e retorna o timestamp
    dataSend = returnTimestamp(dataSend);

    // Recebe datas que podem estar em qualquer um dos formatos especificados, pode vir do banco, de um webserver ou qualquer lugar
    datesInRange = ["01/01/2001", "8 de Março de 2008", "01 de Jan de 2017", "4/Agosto/1995", "12 Julho 1995","fev/2007","10/1998"];
    // Inicializo o array que vai receber os timestamps das datas
    timestampsInRange = [];
    // Para cada elemento dentro das datas recebidas....
    for (i = 0; i < datesInRange.length; i++) {
      // Chama a função que remove os caracteres nao necessarios e retorna o timestamp
      timestampConvert = returnTimestamp(datesInRange[i]);
      // Adiciono o timestamp no array
      timestampsInRange.push(timestampConvert);
    }
    // Verifico se o timestamp enviado existe no array de timestamps
    var exist = timestampsInRange.indexOf(dataSend);
    if (exist >= 0) {
      alert("valor encontrado");
    } else {
      alert("valor não encontrado");
    }
  }catch(err) {
    alert("Provavelmente a data que tentou pesquisar não é válida");
  }
}

// Função remove um elemento especificado
function removeValue(index, arr) {
  arr.splice(index, 1);
}
// Função que faz a conversão de date para timestamp, recebe um array por default
function convertDateToTimestamp(dateToConvert) {
  // Assume que esta no formato mes/ano
  if (dateToConvert.length == 2) {
    dateToConvert.unshift("01");
  }
  // Se a data foi enviada por extenso....
  if (dateToConvert[1].length > 3) {
    // Pego somente o inicio dela
    dateToConvert[1] = dateToConvert[1].substring(0, 3);
  }
  // Envio a variavel para a função que vai me...