IF ao comparar o primeiro caractere
12/11/2019
0
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
Post mais votado
13/11/2019
O que será que invalida esta condição ?
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
Mais Posts
12/11/2019
Vinicius Barreto
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'
};
13/11/2019
Eldo
O que será que invalida esta condição ?
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''
};
13/11/2019
Eldo
Funcionou, só tive que mudar as aspas duplas, para simples, mas não sei o motivo.
Muito obrigado pela ajuda.
Eldo
O que será que invalida esta condição ?
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 !!
Clique aqui para fazer login e interagir na Comunidade :)