Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

Preencher número zero a esquerda do imput

Recommended Posts

Bom Dia,

 

Estou criando um sistema de login através da digitação de 11 dígitos em um input. Caso o internauta digite 9 o campo imput completa o campo com o numero zero a esquerda até chegar aos 11 dígitos.

 

Alguem teria um código que possa me ajudar?

 

Obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro pegue o que a pessoa digitou e veja quantos tem.

Qtostem = len(input)

 

Se tem 11 va direto para o login, caso não.

 

temqueser = 11

qtosfaltam = temqueser - qtostem

 

Também é bom fazer um tratamento caso a subtração de negativo.

 

Depois faça um for para preencher os zeros que falta.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma certa forma use a função string + Right("000000000" + "teste",10)... ou tipo:

 

 

Function ZeroEsquerda(Var_String, Quantidade)
ZeroEsquerda = Var_String
If Quantidade < Len(Var_String) Then
While Len(ZeroEsquerda) < (Quantidade + Len(Var_String))
ZeroEsquerda = "0"& ZeroEsquerda
Wend
End If
End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso? porque não funfou

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
<%
Function ZeroEsquerda(Var_String, Quantidade)
ZeroEsquerda = Var_String
If Quantidade < Len(Var_String) Then
While Len(ZeroEsquerda) < (Quantidade + Len(Var_String))
ZeroEsquerda = "0"& ZeroEsquerda
Wend
End If
End Function%>
</head>

<body>
<form id="form1" name="form1" method="post">
  <p>
    <label for="Var_String">Text Field:</label>
    <input name="Var_String" type="text" id="Var_String" size="25" maxlength="11">
  </p>
  <p>
    <input type="button" name="button" id="button" value="Enviar">
  </p>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que passar na função, ou tire a função e use apenas o código:

 

 

 


<%
'declare a quantidade
quantidade=
ZeroEsquerda = Var_String
If Quantidade < Len(Var_String) Then
While Len(ZeroEsquerda) < (Quantidade + Len(Var_String))
ZeroEsquerda = "0"& ZeroEsquerda
Wend
End If

%>

ou até mesmo:

 

 

' (val) é o valor de referencia
' (num) é o numero de digitos que será gerado.
Function Strzero(val,num)
 val = Trim(CStr(val))
 Strzero = String(num-len(val),"0") & val
End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe minha ignorância mas não entendi.

 

Eu passei o valor mas não funfou. O que preciso é que:

 

são 11 digitos

 

se o usuário digita 88888888

aparecerá 00088888888 automático no imput

ou 999999999

aparecerá 00999999999

 

não precisaria de javascript para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade pode fazer com js, jquery...

 

Para js, use assim:

 

<html>
    <head>
        
    <script language="JavaScript" type="text/javascript">
function Completar(Max, Qtd, Caracter) {
if (Qtd > Max) {
alert("Preenchimento incorreto! O máximo desse campo é de " + Max + " caracteres!");
} else {
Restante = parseInt(Max) - parseInt(Qtd);
for(i=0;i<Restante;i++) {
NovoValor = Caracter + document.forms[0].elements[0].value;
document.forms[0].elements[0].value = NovoValor;
}
}
}
</script>
    </head>
    <body>
        <form>
            <input name="Caixa" type="text" size="20" onBlur="Completar(18,this.value.length,'0')">
        </form>
    </body>
</html>

esse é interessante que usa o OnBlur

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado xanburzum era isso mesmo. Obrigado a todos inclusive Ronaldo Bueno.

 

RESOLVIDO.



Estou com um pequeno problema, na pagina tenho mais de 1 form. Coloquei o script para funcionar em um input e ele está funcionando em outro. Digito no form (matricula) e o script funciona em outro form porque será

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessas linhas

NovoValor = Caracter + document.forms[0].elements[0].value; document.forms[0].elements[0].value = NovoValor;

 

forms[0] o zero é o indice!!!

 

coloque 1

 

NovoValor = Caracter + document.forms[1].elements[0].value; document.forms[1].elements[0].value = NovoValor;

 

ou coloque uma variarial e repasse na função

 

function Completar(Max, Qtd, Caracter, indiceform) {
e as linhas ficam
NovoValor = Caracter + document.forms[indiceform].elements[0].value; document.forms[indiceform].elements[0].value = NovoValor;

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode usar uma tag id no form e passá-lo na função. Também pode usar um frame/div com jquery

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.