Ir para conteúdo
Fórum Script Brasil
  • 0

Remover Espaço Em Branco


mestre fyoda

Pergunta

/*

Descrição.: formata um campo do formulário de
acordo com a máscara informada...
Parâmetros: - objForm (o Objeto Form)
- strField (string contendo o nome do textbox)

* - sMask (mascara que define o
* formato que o dado será apresentado,
* usando o algarismo "9" para
* definir números e o símbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: <input type="textbox"
* name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observação: As máscaras podem ser representadas como os exemplos abaixo:
* CEP -> 99.999-999
* CPF -> 999.999.999-99
* CNPJ -> 99.999.999/9999-99
* Data -> 99/99/9999
* Tel Resid -> (99) 999-9999
* Tel Cel -> (99) 9999-9999
* Processo -> 99.999999999/999-99
* C/C -> 999999-!
* E por aí vai...
***/

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}

sValue = objForm[strField].value;
// Limpa todos os caracteres de formatação que
// já estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}
i++;
}

objForm[strField].value = sCod;
if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
}
} else {
return true;
}
}

//Fim da Função Máscaras Gerais

/***
* AUTO TAB - ao prencher o campo, automaticamente manda o foco para o próximo!
***/
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}

function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}

function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
//Fim da Função AutoTab

este codigo quando você coloca maxlengt=14 e você coloca a maskara de cpf suponda que você digite os 14 numeros e ainda fica apertando a tecla , ai da da problema , e se eu apertar as 14 teclas e parar de apertar na 14 tecla funciona normal . alguém pode me ajudar ?

também tem um codigo que pula linha mas ai não vai adiaantra porque meu script não funciona com a função autotab

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

você pode usar a função TRIM em uma linguagem dinamica, ou usar esse script (achei na net) que simula a função:

function trim(str){
str=str.replace(/\s+/g," ");
str=str.replace(/^ /,"");
str=str.replace(/ $/,"");
return str;
}

também tem a função escape() que converte a string para seu codigo em ASCII

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade eu tentei solucionar um problema num script e não deu .

o que esta acontcendo é que o script de maskara do cpf 999.999.999-99 , quando o usuario digita isso e fica segurando qualquer tecla de maxlength="14" e ultrapassa o tamanho 14 ai a minha função de validar cpf não funciona , mas se eu digitar os 14 numeros certinhos a função funciona , porque ?

sei que o problema é na função da maskara.

http://scriptbrasil.com.br/forum/index.php...4f23a350721d9ce

Link para o comentário
Compartilhar em outros sites

  • 0

não , ao contrario função perfeita , mas eu to falando da outra função , que melhoro a sua , mas que a sua não seja boa .

eu coloquei maxlenth="14" . ai que da pau quando eu vo valida o campo , porque o usuario você sabe como é , caso ele fique segurando uma tecla e passe de 14 da pau na hora de validar , porque ?

Link para o comentário
Compartilhar em outros sites

  • 0

<html>
<head>
<link href="../css/estilo.css" rel="stylesheet" type="text/css">
<script language="javascript" type="text/javascript" src="../js/validar_cpf.js"></script> 
<script language="javascript" type="text/javascript" src="../js/maskara.js"></script> 

</head>
<body>
<form name="cadastrar_cliente_fisico" id="cadastrar_cliente_fisico" action="cadastrar_cliente.php" method="POST">
<br><br><br>
<table class="texto" align="center">
    <tr>
            <td> Nome </td> <td> <input type="text" name="nome"> </td>
    </tr>

    <tr>
        <td> Email </td> <td> <input type="text" name="email"> </td>
    </tr>

    <tr>
        <td> Senha </td> <td> <input type="password" name="senha" maxlength="10" onKeyUp="return autoTab(this, 10, event);"> </td>
    </tr>

    <tr>
        <td> Confirma Senha </td> <td> <input type="password" name="confirma_senha" maxlength="10" onKeyUp="return autoTab(this, 10, event);"> </td>
    </tr>

    <tr>
        <td> CPF </td> <td> <input type="text" name="cpf" maxlength="14" onkeypress="return txtBoxFormat(document.cadastrar_cliente_fisico, 'cpf', '999.999.999-99', event);" onchange="return valida_form(document.cadastrar_cliente_fisico)"> </td>
    </tr>

    <tr>
        <td> Data Nascimento </td> <td> <input type="text" name="dia" size="3" onKeyUp="return autoTab(this, 2, event);"> <input type="text" name="mês" size="3" onKeyUp="return autoTab(this, 2, event);"> <input type="text" size="4" onKeyUp="return autoTab(this, 4, event);"> </td> <td> Formato: dia/mês/ano </td>
    </tr>

    <tr>
        <td> </td>
    </tr>
    
    <tr>
       <td> <input type="submit" value="Cadastrar"> </td>
    </tr>
</table>

</form>
</body>
</html>
validar.js
function valida_form(form) 
  { 
  
// ::: Validando o campo CPF ::: 
   var invalid, s; 
 invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; 
  
 var s; 
  
    if (form.cpf.value == "") 
    { 
      alert("Informe o CPF !!!") 
      form.cpf.focus(); 
      return false; 
    } 
    
    if (form.cpf.value == "000.000.000-00" || 
form.cpf.value == "111.111.111-11" || 
        form.cpf.value == "222.222.222-22" || 
form.cpf.value == "333.333.333-33" || 
        form.cpf.value == "444444444-44" || 
form.cpf.value == "555.555.555-55" || 
        form.cpf.value == "666.666.666-66" || 
form.cpf.value == "777.777.777-77" || 
        form.cpf.value == "888.888.888-88" || 
form.cpf.value == "999.999.999-99") 
    { 
      alert("CPF Inválido"); 
      form.cpf.focus(); 
      form.cpf.value = "";
      return false; 
    } 
  
    s = limpa_string(form.cpf.value); 
  
// ::: checa se é cpf ::: 
  if (s.length == 11) 
    { 
   if (valida_CPF(form.cpf.value) == false ) { 
     alert("O CPF não é válido !"); 
  form.cpf.focus(); 
  form.cpf.value = "";
  return false; } 
 } 
 else 
    { 
   alert("O CPF não é válido !"); 
   form.cpf.value = "";
   form.cpf.focus(); 
   return false; 
 } 
  
// ::: Deixa so' os digitos no numero ::: 
 function limpa_string(S) 
    { 
      var Digitos = "0123456789"; 
   var temp = ""; 
   var digito = ""; 
  
   for (var i=0; i<S.length; i++) 
      { 
     digito = S.charAt(i); 
  if (Digitos.indexOf(digito)>=0) 
        { 
    temp=temp+digito 
        } 
   } //for 
  
   return temp 
    } 
// fim da funcao 
  

function valida_CPF(s) 
{ 
  var i; 
  s = limpa_string(s); 
  var c = s.substr(0,9); 
  var dv = s.substr(9,2); 
  var d1 = 0; 
  for (i = 0; i < 9; i++) 
  { 
   d1 += c.charAt(i)*(10-i); 
  } 
  if (d1 == 0) return false; 
    d1 = 11 - (d1 % 11); 
 if (d1 > 9) d1 = 0; 
   if (dv.charAt(0) != d1) 
   { 
  return false; 
   } 
  
   d1 *= 2; 
   for (i = 0; i < 9; i++) 
   { 
  d1 += c.charAt(i)*(11-i); 
   } 
   d1 = 11 - (d1 % 11); 
   if (d1 > 9) d1 = 0; 
     if (dv.charAt(1) != d1) 
     { 
    return false; 
     } 
        return true; 
} 
  
function valida_CGC(s) 
{ 
  var i; 
  s = limpa_string(s); 
  var c = s.substr(0,12); 
  var dv = s.substr(12,2); 
  var d1 = 0; 
  for (i = 0; i < 12; i++) 
  { 
   d1 += c.charAt(11-i)*(2+(i % 8)); 
  } 
  if (d1 == 0) 
    return false; 
    d1 = 11 - (d1 % 11); 
   if (d1 > 9) d1 = 0; 
     if (dv.charAt(0) != d1) 
     { 
    return false; 
     } 
  
   d1 *= 2; 
   for (i = 0; i < 12; i++) 
   { 
     d1 += c.charAt(11-i)*(2+((i+1) % 8)); 
   } 
   d1 = 11 - (d1 % 11); 
   if (d1 > 9) 
        d1 = 0; 
     if (dv.charAt(1) != d1) 
     { 
    return false; 
     } 
     return true; 
} 
  
} 

tenta ai galera no campo cpf segurar algum numero e deixar ultrapassar os 14 digitos e depois que você fizer isso apaga e coloca o mesmo numero so que não exeda os numeros , quando você chegar no ultimo numero não digita mais nada e testa ai pra vocês verem .

grato pela atenção .

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...