IF ao comparar o primeiro caractere

JavaScript

12/11/2019

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

Curtidas 0

Melhor post

Jorge Pinto

Jorge Pinto

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 !!
GOSTEI 1

Mais Respostas

Vinicius Barreto

Vinicius Barreto

12/11/2019

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'
};
GOSTEI 0
Eldo

Eldo

12/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''
};
GOSTEI 0
Eldo

Eldo

12/11/2019

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 !!
GOSTEI 0
POSTAR