I need to get the special characters coming from an input in jquery, I'm doing so more is not working. How would you resolve this?
$("#cnpj").focusout(function(){
// Converte o texto para caixa baixa:
str = $("#cnpj").val().toLowerCase();
// Remove qualquer caractere em branco do final do texto:
str = $("#cnpj").val().replace(/^\s+|\s+$/g, '');
// Lista de caracteres especiais que serão substituídos:
const from = "ãàáäâẽèéëêìíïîõòóöôùúüûñç·/_,:;";
// Lista de caracteres que serão adicionados em relação aos anteriores:
const to = "aaaaaeeeeeiiiiooooouuuunc------";
// Substitui todos os caracteres especiais:
for (let i = 0, l = from.length; i < l; i++) {
str = $("#cnpj").val().replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
}
// Remove qualquer caractere inválido que possa ter sobrado no texto:
str = $("#cnpj").val().replace(/[^a-z0-9 -]/g, '');
// Substitui os espaços em branco por hífen:
str = $("#cnpj").val().replace(/\s+/g, '-');
//Início do Comando AJAX
$.ajax({
//O campo URL diz o caminho de onde virá os dados
//É importante concatenar o valor digitado no CNPJ
url: 'cnpj.php?cnpj='+$str,
//Atualização: caso use java, use cnpj.jsp, usando o outro exemplo.
//Aqui você deve preencher o tipo de dados que será lido,
//no caso, estamos lendo JSON.
dataType: 'json',
//SUCESS é referente a função que será executada caso
//ele consiga ler a fonte de dados com sucesso.
//O parâmetro dentro da função se refere ao nome da variável
//que você vai dar para ler esse objeto.
success: function(resposta){
//Confere se houve erro e o imprime
if(resposta.status == "ERROR"){
alert(resposta.message + "\nPor favor, digite os dados manualmente.");
$("#post #nome").focus().select();
return false;
}
//Agora basta definir os valores que você deseja preencher
//automaticamente nos campos acima.
$("#post #nome").val(resposta.nome);
$("#post #fantasia").val(resposta.fantasia);
$("#post #atividade").val(resposta.atividade_principal[0].text + " (" + resposta.atividade_principal[0].code + ")");
$("#post #telefone").val(resposta.telefone);
$("#post #email").val(resposta.email);
$("#post #logradouro").val(resposta.logradouro);
$("#post #complemento").val(resposta.complemento);
$("#post #bairro").val(resposta.bairro);
$("#post #cidade").val(resposta.municipio);
$("#post #uf").val(resposta.uf);
$("#post #cep").val(resposta.cep);
$("#post #numero").val(resposta.numero);
}
});
});
Html
<input type="text" class="form-control cnpj" name="cnpj" id="cnpj" placeholder="CNPJ" required>