Ir para conteúdo
merlinus

Regex para validação

Recommended Posts

Estou montando uma validação de senha com regex, to com dois problemas

na parte de verificar algum simbolo espercial no servidor estou usando 

[[:punct:]à-úÀ-Ú ]

mas o punct não funciona no JS então estou pensando em fazer o seguinte:

[à-ýÀ-Ý '"!@#$%¨&*()\-_=+\\´`{[ª}\]º/?°;:.>,<|]

é loucura? tem algum jeito mais fácil??

 

O segundo seria a quantidade de caracteres to usando no servidor
 

[\w$@]{8,}

Tb não funciona no JS mas nesse caso to querendo mandar pras favas e simplesmente checar a qtd de caracteres de forma tradicional

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei qual o senário aí, mas se for saber se uma string possui ou não caracteres especiais é só passar por combinação, para isso usamos a função match.

Já para a quantidade de caracteres usamos o protótipo length.

var stringA = "CaracteresComuns";
var stringB = "ãÉíÓú";
var stringC = "'\"\"@#$%¨&*()´+-=_[]{}º~^^?";

verificar(stringA);
verificar(stringB);
verificar(stringC);

quantidade(stringA);
quantidade(stringB);
quantidade(stringC);

function verificar(str) {
  if (str.match(/^([a-zÀ-ú]+)$/gmi)) {
    console.log('[' + str + '] Não tem caractere expecial');
  } else {
    console.log('[' + str + '] Tem caractere expecial');
  }
}

function quantidade(str) {
  var chars = str.length;
  console.log('[' + str + '] Possui [' + chars + '] de caracteres');
}

 

Pessoalmente acho desnecessário  qualquer tipo de  filtro em senha do usuário, para que o ele possa usar letras/números/caracteres especiais de forma a garantir a segurança da sua senha  conforme ele mesmo achar mais conveniente.

Como sempre em um POST recebemos os valores por encodeURI o recebimento da mesma é seguro então logo antes de usar o valor da super global POST do valor do input uso a função

htmlentities no PHP assim não sendo possível quebrar meu código PHP caso o valor do input tenha essa finalidade.

Até impedindo um sql-inject só com o htmlentities, mesmo também sempre salvo senhas por password_hash.

Bom se existe alguma forma de quebrar o código PHP antes da execução nunca vi nem ouvi falar.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.