Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luciano

[Resolvido] Validação texto e numero

Recommended Posts

Olá procurei pelo forum mais não encontrei, precisava de um script que validasse campo senha

obrigando a ter no minimo 6 digitos entre eles contendo uma letra minuscula e uma em maiuscula,

alguem teria um modelo

 

obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

luciano não posso fazer por você mas vou te guiar para o caminho certo e te dar um exemplo de basicamente o que você terá de fazer.

 

Cara da uma pesquisada sobre "Regex".

 

Exemplo:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Valida {


   public static void main(String args[]){
       //[A-Z] só vai aceitar letras maiúsculas de "A à Z".
       //{2,2} só pode ser repitido no minimo 2 letras e no maximo 2.
       //"\\d" serve para definir que vai ser utilizado dentro da String valores númericos de 0-9.
       //{6,6} o valor pode ser repetido no minimo 6 no maximo 6.
       Pattern pattern = Pattern.compile("[A-Z]{2,2}\\d{6,6}");
       Matcher matcher = pattern.matcher("EE123456");

       //O metodo find() vai retornar "true"se encontrar o padrão certo.
       if( matcher.find() ){
           System.out.println("Encontrou");
       }else{
           System.out.println("Não encontrou");
       }
   }
}

 

Esse é um exemplo básico você deverá modificar para o que você realmente necessita.

 

Se tiver alguma duvida só falar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não dá para fazer isto com JavaScript ?? alguma função sei lá

 

algo assim:

 

 if (theForm.ENDERECOCLI.value == ""){
 	alert('-- ENDERECO --\n  Você deve informar o Endereço.');
 	theForm.ENDERECOCLI.focus();  	return (false);
 }

 if (theForm.ENDERECOCLI.value.length < 6)
{
alert( "(ENDERECO --\n  Endereço Invalido, Coloque Endereço completo" );
theForm.ENDERECOCLI.focus();	return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po coloca seu código dentro da TAG


.

Agora me diga o seguinte você esta fazendo seu site em java?

Ou você esta confundindo Java com JavaScript e apenas esta precisando de um script JavaScript?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po coloca seu código dentro da TAG



preferia um script JavaScript

tentei assim tambem
<script language="javascript">

var inputstr="A3333622";

var regex=/^[a-zA-Z]\d{6}$/g;

if (regex.test(inputstr))
{
 	alert("sim");
}
else
{
 	alert("Nao");
}

</script>

novamente muito obrigado por sua ajuda

.

Agora me diga o seguinte você esta fazendo seu site em java?

Ou você esta confundindo Java com JavaScript e apenas esta precisando de um script JavaScript?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá luciano acho que aqui não seria a area que você esta procurando aqui a área é de "Java" entende?

 

Mas vou ajudar você, aqui esta o código base para que você possa fazer o que você quer em cima disto.

 

//Se o campo senha não estiver preenchido ou senha tiver menos de 6 caracteres
//Então vai imprimir a mensagem do alert.
if (form.senha.value=="" || form.senha.value.length < 6) {
alert("Preencha a senha corretamente.");
form.senha.focus();
return false;
}

 

Bem simples sem muito mistério esse JavaScript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquisando em buscadores por "regex password validation" temos alguns bons exemplos

 

Veja se algum desses lhe serve

 

http://blog.stevenlevithan.com/archives/javascript-password-validator

http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C4F005D3717

 

Qualquer duvida avise

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado por sua resposta pvpzaum, este cód eu já tentei, o problema é que eu não consegui colocar para obrigar a ter pelo menos uma letra em maiuscula e pelo menos um numero

gostaria que a senha ficasse eX: Ab123456

valew mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viu os exemplos com regex?

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou vendo, mais é bem complicado: to quase conseguindo, veja o cod

só não esta obrigando a letra em maiuscula, o resto esta ok

 

<script language="javascript">

 

 

var Senha="hgg6t6ff";

 

var regex = /^[A-Za-z]\w{6,}[A-Za-z]$/;

 

if (!regex.test(Senha)) { alert("senha invalida"); }

 

else

{

alert("boa");

 

}

 

</script>

 

Viu os exemplos com regex?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso aqui vai garantir que haja pelo menos uma letra maiúscula:

 var regex = /^[a-z]*[A-Z][a-z]*$/; 

Para garantir o mínimo de caracteres, faça assim:

var Senha="hgg6t6ff";

var regex = /^[a-z0-9]*[A-Z][a-z0-9]*$/;;

if (!regex.test(Senha) || Senha.length < 6) { 
alert("senha invalida"); 
} else {
		alert("boa"); 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é quase isso, só não esta obrigando 1 caracter numerico

 

 

Isso aqui vai garantir que haja pelo menos uma letra maiúscula:

 var regex = /^[a-z]*[A-Z][a-z]*$/; 

Para garantir o mínimo de caracteres, faça assim:

var Senha="hgg6t6ff";

var regex = /^[a-z0-9]*[A-Z][a-z0-9]*$/;;

if (!regex.test(Senha) || Senha.length < 6) { 
alert("senha invalida"); 
} else {
		alert("boa"); 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é quase isso, só não esta obrigando 1 caracter numerico

Faça assim desta forma então:

 

/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,6}/

 

Por que do interrogação pois não sei o que vai vir antes de cada um no caso vai ficar a opnião do usuario saber se vai vir numero ou letras primeiro. Entendeu?

Mas você pode mudar ao seu gosto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora sim, parabéns, só não entendi muito mais tudo bem, vou estudar mais a respeito

muito obrigado mesmo, até ++

 

Faça assim desta forma então:

 

/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,6}/

 

Por que do interrogação pois não sei o que vai vir antes de cada um no caso vai ficar a opnião do usuario saber se vai vir numero ou letras primeiro. Entendeu?

Mas você pode mudar ao seu gosto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora sim, parabéns, só não entendi muito mais tudo bem, vou estudar mais a respeito

muito obrigado mesmo, até ++

 

Tipo fala o que você não entendeu exatamente que tiro a sua duvida. É sobre o código que coloquei ou sobre "regex"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá eu novamente rs...

ficou realmente show só que eu não consegui colocar em meu cód. rs.....

 

 

function validarfaleconosco(form_faleconosco){

 

if (form_faleconosco.nome.value == ""){

document.form_faleconosco.enviar.value = "Enviar";

alert("Favor digitar seu Nome.");

form_faleconosco.nome.focus();

return false;

}

 

 

if (form_faleconosco.senha.value);

 

var regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,6}/;;

if (!regex.test(senha) || senha.length < 12) {

 

window.alert ("Senha Invalida deve conter letras e numeros.");

form_faleconosco.senha.focus();

return false;

}

 

-----------------------------------------------------

desculpe minha ignorancia, mais tá complicado

forte abraço

 

É sim. Desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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