
Thyago Barbosa
Membro Pleno-
Posts
43 -
Cadastrado em
-
Última visita
Reputação
0-
Javascript Expressão Regular Match x(?=y)
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@HwapX Mano, não dá pra usar o + dentro do lookbehind? Tipo, pelo google chrome funcionou isso aqui (?<=\d{5}\/\d+\s+\d{2}\/\d{2}\/\d{4}\s+\d+\s+)[\w\s\/]+(?=.+\s+R\$)/) Mas fui olhar no Firefox e no IE e tá dando look-behind invalido, e só dá problema quando coloco o contador '+' em algum valor -
Galera, estou tentando fazer um match, que busque "xxx dias" que está entre um monte de dados. Pra mim conseguir achar, tive que fazer /Atr\. Real\:\s+\d+ dias/ (por que só fazendo \d+ dias ele busca outros valores que não é o que eu quero) e depois de puxar essa Array, preciso dar match novamente com o \d+ dias. Vi que tem uma funcionalidade que ele consegue buscar o valor seguido de outro sem gravar o que foi seguido, no caso se eu quisesse pegar só o número de dias seria /\d+(?=dias)/. Daí, como eu faria pra fazer essa busca ao contrário? Ao invés de ser "valor seguido(e não gravado) de x" fosse "valor(não gravado) seguido de x (gravado)"? No caso, algo mais ou menos: /(Atr\. Real\:=?)\s+\d+ dias/ pra que viesse só o "xxx dias" que está sendo seguido de "Atr. Real: "
-
Javascript Textarea em Tabela (JavaScript)
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@DiF Entendi, mas por exemplo, se eu pegar esse arquivo html, e abrir em outro computador, ele vai continuar com os dados que estavam lá ou só se abrir o html na mesma máquina em que foi salva os dados? -
Javascript Textarea em Tabela (JavaScript)
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@Felipe Paz É porque se eu utilizar a tabela direto no navegador, não vou conseguir manter os dados da tabela, a não ser que funcionasse igual à um arquivo de excel, que mesmo trocando de computador ele mantem os dados que foram digitados. Teria alguma forma de armazenagem de dados (sem ser com LocalStorage que não armazena muita coisa) utilizando JavaScript puro? -
Javascript Textarea em Tabela (JavaScript)
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@DiF Não po, essa parte de conversão pra tabela não é pra manter o valor, é que estou querendo fazer o seguinte, quero transformar o textarea em tabela, e na tabela quero usar um "SortBy" pra organizar em ordem alfabética tal coluna, e depois que fizer isso, quero que transforme essa tabela editada novamente em um texto. Só que daí estou fazendo em partes pra não ficar muito complicado -
Galera, alguém sabe algo em JavaScript (Puro) que transforme valores de uma textarea em uma tabela utilizando " | " para separar colunas (<td>) e o enter/ quebra de linha pra separar a <tr> igual está na imagem abaixo (Obs: Será através de um botão onclick que será feito essa transformação, não está na imagem porque foi só pra ilustrar mesmo) Se alguém souber, por gentileza manda exemplo online
-
Galera, como faço pra utilizar o seguinte Regex ^R\$(\d{1,3}(\.\d{3})*|\d+)(\,\d{2})?$ Em um .replace(), como por exemplo v = v.replace(/(\d{1})(\d{1,2})$/, "$1,$2")
-
CSS Condição If pra cada tipo de navegador
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@DiF Entendi, pior que tem que ser html puro mesmo :/ Não tem nenhuma gambiarra com Javascript que consiga fazer isso mais ou menos? -
Galera, tenho um código que estou usando o estilo "padding" só que o valor que coloco dentro do padding, tipo "padding: 0px 4px" mostra um estilo diferente em cada navegador. Tipo, no Firefox fica um quadrado, e no Chrome fica um retângulo (altura > largura), daí existe alguma condição do tipo (só exemplificando) "If (navegador = Firefox){padding: 0px 4px} If (navegador = Chrome){padding: 8px 2px}. Tipo nesse esquema (sei que não existe desse jeito, mas foi só pra ilustrar.)
-
Javascript Chamar função Javascript no input
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@iHollyZinhO Entendi, e como faz pra retornar a função no mesmo input que está ativando o keyup? Tipo, ao invés de ativar na id local, ativar na id teste -
Javascript Chamar função Javascript no input
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@iHollyZinhO Então, o return nesse daí tá retornando "undefined" mas quando faço o alert com número ele volta formatado alert(formatReal(-99999999999999)); Olha aí o link só da função: http://jsfiddle.net/zQ8Qq/ @DiF Não ta aplicando a função no input de nenhum jeito não é como se não tivesse função via keyup/ keypress -
Javascript Chamar função Javascript no input
Thyago Barbosa postou um tópico em Web e banco de dados
Galera, tenho a seguinte função, mas não estou conseguindo chamar ela pelo input <input type="text" name="teste" id="teste" onkeyup="formatReal(this)" /> <script> function formatReal( int ) { var tmp = int+''; var neg = false; if(tmp.indexOf("-") == 0) { neg = true; tmp = tmp.replace("-",""); } if(tmp.length == 1) tmp = "0"+tmp tmp = tmp.replace(/([0-9]{2})$/g, ",$1"); if( tmp.length > 6) tmp = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2"); if( tmp.length > 9) tmp = tmp.replace(/([0-9]{3}).([0-9]{3}),([0-9]{2}$)/g,".$1.$2,$3"); if( tmp.length > 12) tmp = tmp.replace(/([0-9]{3}).([0-9]{3}).([0-9]{3}),([0-9]{2}$)/g,".$1.$2.$3,$4"); if(tmp.indexOf(".") == 0) tmp = tmp.replace(".",""); if(tmp.indexOf(",") == 0) tmp = tmp.replace(",","0,"); return (neg ? '-'+tmp : tmp); } </script> estou querendo chamar a função pelo onkeyup dentro do input mesmo, se alguém souber me ajuda aí -
Javascript Usar meu script sem .js
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@iHollyZinhO Então man, é que o meu script tem mais coisa, mandei só essas partes porque o resto é tudo repetitivo, daí queria que ficasse no mesmo esquema do meu script, mas só alterasse as coisas que dependem do .js entendeu? Só que o problema é que não sei quais são as string's que dependem do jquery lá. -
Gente, tenho o seguinte script que está fazendo cálculos, só que ele só funciona com o <script scr> do jquery 3.2.1 e eu quero tirar ele (porque onde pretendo usar não funciona nenhum arquivo .js online e também não quero ter que baixar o .js e instalar ele no arquivo) Daí o que eu queria saber é, quais alterações eu preciso fazer pra que esse script funcione sem esse .js :/ se alguém souber como faço isso, por favor use o meu como exemplo pra fazer as alterações <select class="qtd-parc" type="text" name="qtd-parc" /> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> <option value="32">32</option> <option value="33">33</option> <option value="34">34</option> <option value="35">35</option> <option value="36">36</option> <option value="37">37</option> <option value="38">38</option> <option value="39">39</option> <option value="40">40</option> <option value="41">41</option> <option value="42">42</option> <option value="43">43</option> <option value="44">44</option> <option value="45">45</option> <option value="46">46</option> <option value="47">47</option> <option value="48">48</option> <option value="49">49</option> <option value="50">50</option> <input class="valr-parc" type="text" name="valr-parc" placeholder="0,00" /> <input class="total-parc" type="text" name="total-parc" readonly /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var qtd_parc = $(".qtd-parc"); var valr_parc = $(".valr-parc"); var total_parc = $(".total-parc"); var dif = $(".diferenca"); var avista = $(".avista"); var zerar = $(".zerar"); valr_parc.on("keyup", function(){ $(this).val($(this).val().replace(/\D/g,'').replace(/[0-9]{12}/, "").replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); var nw_valr_parc = valr_parc.val().replace(/[^\d.,]/g, '').replace(".", "").replace(".", "").replace(".", ""); var multiplica = qtd_parc.val() * nw_valr_parc.replace(",", "."); total_parc.val(multiplica.toFixed(2).replace(/\D/g,'').replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); }); qtd_parc.on("change", function(){ $(this).val($(this).val().replace(/[^\d]/g, '')); var nw_valr_parc = valr_parc.val().replace(/[^\d.,]/g, '').replace(".", "").replace(".", "").replace(".", ""); var multiplica = qtd_parc.val() * nw_valr_parc.replace(",", "."); total_parc.val(multiplica.toFixed(2).replace(/\D/g,'').replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); }); }); </script> Script funcionando: https://jsfiddle.net/gtvzzvy5/
-
HTML Máscara de Moeda (Estilo Excel)
Thyago Barbosa respondeu ao tópico de Thyago Barbosa em Web e banco de dados
@RodrigoMoraiss Eu fiz de outra maneira, usei esses replaces (e peguei alguns outros pra ficar mais resumido) como expressão regular direto na variável assim ó: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var qtd_parc = $(".qtd-parc"); var valr_parc = $(".valr-parc"); var total_parc = $(".total-parc"); var dif = $(".diferenca"); var avista = $(".avista"); var zerar = $(".zerar"); valr_parc.on("keyup", function(){ $(this).val($(this).val().replace(/\D/g,'').replace(/[0-9]{12}/, "").replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); var nw_valr_parc = valr_parc.val().replace(/[^\d.,]/g, '').replace(".", "").replace(".", "").replace(".", ""); var multiplica = qtd_parc.val() * nw_valr_parc.replace(",", "."); total_parc.val(multiplica.toFixed(2).replace(/\D/g,'').replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); }); qtd_parc.on("change", function(){ $(this).val($(this).val().replace(/[^\d]/g, '')); var nw_valr_parc = valr_parc.val().replace(/[^\d.,]/g, '').replace(".", "").replace(".", "").replace(".", ""); var multiplica = qtd_parc.val() * nw_valr_parc.replace(",", "."); total_parc.val(multiplica.toFixed(2).replace(/\D/g,'').replace(/(\d{1})(\d{1,2})$/, "$1,$2").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.').replace(/^(\d)/g,"R$ $1")); }); }); </script> Olha no exemplo online como ficou https://jsfiddle.net/h42dqjeL/1/ A única coisa que queria agora, era pra autocompletar os ,00 em casas decimais, tipo, eu digito "5" e ao invés de aparecer "R$ 5" (como está atualmente), apareceria "R$ 5,00" e a medida que eu fosse digitando número, ele ia substituindo esses "0". Daí ficaria, eu digitava "55" e ficava "R$ 5,50"; digitava "555" e ficava "R$ 5,55", eu tinha visto um código que fazia isso, mas estava usando em função e não sei como coloco como expressão regular igual estou usando. A função que fazia isso era esse aqui, se você souber como faço pra acrescer os "00" como expressão regular me manda aí function moeda(v) { v=v.replace(/\,0+$/,"") // Remove ,00 do final v=v.replace(/[^\d,]/g,"") // Remove tudo que não é dígito ou vírgula v=v.replace(/^0+/g,"") // Remove zeros Ă esquerda if(v.indexOf(",")+1){ v=v.replace(/(,\d)$/,"$10") // 2,5 se torna 2,50 }else{ v+=",00" // Acrescenta ,00 ao final dos inteiros } for(var i=0;i<10;i++) v=v.replace(/(\d)(\d{3}[\.,])/,"$1.$2") // Separador de milhar v="R$ "+v // R$ no comeรงo return v; }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais