IF ao comparar o primeiro caractere

12/11/2019

0

Olá,
Estou tendo dúvidas como comparar o primeiro caractere de uma string para trocar o valor de outra string. Poderiam me ajudar no código exemplo abaixo ?


<html>
<head> </head>
<script>
function formatar(src){

var mask = '99 99 99 99 99 99';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if src.substring(0,1)='8' {
mask = '9999 99999 99999 99999 99 99'
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>
Eldo

Eldo

Responder

Post mais votado

13/11/2019

Olá amigo, mesmo alterando a função não roda, tipo invalida ela. mas se remover o if ela volta a funcionar.

O que será que invalida esta condição ?


Olá,
Estou tendo dúvidas como comparar o primeiro caractere de uma string para trocar o valor de outra string. Poderiam me ajudar no código exemplo abaixo ?


<html>
<head> </head>
<script>
function formatar(src){

var mask = ''''99 99 99 99 99 99'''';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if src.substring(0,1)=''''8'''' {
mask = ''''9999 99999 99999 99999 99 99''''
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>


Olá o problema ai meu amigo é que voce esta realizado uma tribuição e não uma comparação

Isso aconteceu porque voce colocou apenas um "=", o codigo correto ficaria assim :

if src.substring(0,1) == ''''8'''' {
mask = ''''9999 99999 99999 99999 99 99''''
};


Olá Eldo !!

além dessa alteração que o Vinicius falou ainda eram necessárias mais algumas no seu if, segue o código alterado abaixo...

<html>
<head> </head>
<script>
function formatar(src){

var mask = ''99 99 99 99 99 99'';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if (src.value.substring(0,1)==''8'') {
mask = ''9999 99999 99999 99999 99 99''
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>



Espero ter ajudado.
Abraço e bons códigos !!

Jorge Pinto

Jorge Pinto
Responder

Mais Posts

12/11/2019

Vinicius Barreto

Olá,
Estou tendo dúvidas como comparar o primeiro caractere de uma string para trocar o valor de outra string. Poderiam me ajudar no código exemplo abaixo ?


<html>
<head> </head>
<script>
function formatar(src){

var mask = '99 99 99 99 99 99';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if src.substring(0,1)='8' {
mask = '9999 99999 99999 99999 99 99'
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>


Olá o problema ai meu amigo é que voce esta realizado uma tribuição e não uma comparação

Isso aconteceu porque voce colocou apenas um "=", o codigo correto ficaria assim :

if src.substring(0,1) == '8' {
mask = '9999 99999 99999 99999 99 99'
};
Responder

13/11/2019

Eldo

Olá amigo, mesmo alterando a função não roda, tipo invalida ela. mas se remover o if ela volta a funcionar.

O que será que invalida esta condição ?


Olá,
Estou tendo dúvidas como comparar o primeiro caractere de uma string para trocar o valor de outra string. Poderiam me ajudar no código exemplo abaixo ?


<html>
<head> </head>
<script>
function formatar(src){

var mask = ''99 99 99 99 99 99'';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if src.substring(0,1)=''8'' {
mask = ''9999 99999 99999 99999 99 99''
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>


Olá o problema ai meu amigo é que voce esta realizado uma tribuição e não uma comparação

Isso aconteceu porque voce colocou apenas um "=", o codigo correto ficaria assim :

if src.substring(0,1) == ''8'' {
mask = ''9999 99999 99999 99999 99 99''
};
Responder

13/11/2019

Eldo

Obrigado Jorge,

Funcionou, só tive que mudar as aspas duplas, para simples, mas não sei o motivo.

Muito obrigado pela ajuda.

Eldo

Olá amigo, mesmo alterando a função não roda, tipo invalida ela. mas se remover o if ela volta a funcionar.

O que será que invalida esta condição ?


Olá,
Estou tendo dúvidas como comparar o primeiro caractere de uma string para trocar o valor de outra string. Poderiam me ajudar no código exemplo abaixo ?


<html>
<head> </head>
<script>
function formatar(src){

var mask = ''''99 99 99 99 99 99'''';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if src.substring(0,1)=''''8'''' {
mask = ''''9999 99999 99999 99999 99 99''''
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>


Olá o problema ai meu amigo é que voce esta realizado uma tribuição e não uma comparação

Isso aconteceu porque voce colocou apenas um "=", o codigo correto ficaria assim :

if src.substring(0,1) == ''''8'''' {
mask = ''''9999 99999 99999 99999 99 99''''
};


Olá Eldo !!

além dessa alteração que o Vinicius falou ainda eram necessárias mais algumas no seu if, segue o código alterado abaixo...

<html>
<head> </head>
<script>
function formatar(src){

var mask = ''99 99 99 99 99 99'';

// Estou com problema neste if
// caso o valor comece com 8 a mascara será outra
// sem este bloco funciona
if (src.value.substring(0,1)==''8'') {
mask = ''9999 99999 99999 99999 99 99''
};

// como comparar o valor acima ??


var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
</script>

<input type="text" id="boleto" size =50 onkeypress="formatar(this);"/>
</html>



Espero ter ajudado.
Abraço e bons códigos !!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar