Jump to content


Photo

Máscara Para Moeda


  • Faça o login para participar
5 replies to this topic

#1 Will C

Will C

    Turista

  • Usuários
  • 34 posts
  • Sexo:Masculino
  • Localidade:Montenegro

Posted 11/11/2010, 16:11

alguém sabe alguma máscara de moeda que funcione em framework (CMS)?

uso Joomla e precisava que os valores digitados em um campo aparececem na forma de moeda (12.653,00) mas quando clicasse no botão enviar enviasse 12653 ou 1265300?

Valeu
Will C.

#2 Menty

Menty

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 16/11/2010, 08:46

eu tenho uma...mas ela envia o valor com os pontos e virgulas msm......tenha o jquery..
<script language="javascript">
    /*Função Pai de Mascaras*/
    function Mascara(o,f){
        v_obj=o
        v_fun=f
        setTimeout("execmascara()",1) }
    /*Função que Executa os objetos*/
    function execmascara(){
        v_obj.value=v_fun(v_obj.value) }
    /*Função que Determina as expressões regulares dos objetos*/
    function leech(v){
        v=v.replace(/o/gi,"0")
        v=v.replace(/i/gi,"1")
        v=v.replace(/z/gi,"2")
        v=v.replace(/e/gi,"3")
        v=v.replace(/a/gi,"4")
        v=v.replace(/s/gi,"5")
        v=v.replace(/t/gi,"7")
        return v }
    /*Função que padroniza telefone (11) 4184-1241*/
    function Telefone(v){
        v=v.replace(/\D/g,"")                 
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2") 
        v=v.replace(/(\d{4})(\d)/,"$1-$2")    
        return v }
    /*Função que padroniza CPF*/
    function Cpf(v){
        v=v.replace(/\D/g,"")                    
        v=v.replace(/(\d{3})(\d)/,"$1.$2")       
        v=v.replace(/(\d{3})(\d)/,"$1.$2")
        v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") 
        return v }
    /*Função que padroniza CEP*/
    function Cep(v){
        v=v.replace(/D/g,"")                
        v=v.replace(/^(\d{5})(\d)/,"$1-$2") 
        return v }
    /*Função que padroniza DATA*/
    function Data(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        return v }
	/*Função que padroniza VALOR MONETARIO - R$*/	
	function MaskMonetario(v){
		v=v.replace(/\D/g,"");
		v=v.replace(/(\d{2})$/,",$1");
		v=v.replace(/(\d+)(\d{3},\d{2})$/g,"$1.$2");
		var qtdLoop = (v.length-3)/3; var count = 0;
		while (qtdLoop > count){ count++;
		v=v.replace(/(\d+)(\d{3}.*)/,"$1.$2");
		}v=v.replace(/^(0)(\d)/g,"$2");
		return v }	
</script>

aew depois disso insira o seguintee código no campo do dinheiro...ex.
onKeyDown="Mascara(this,MaskMonetario);" onKeyPress="Mascara(this,MaskMonetario);" onKeyUp="Mascara(this,MaskMonetario);"

aew o campo vai fica da seguinte forma...

<input name="nome" type="text" onKeyDown="Mascara(this,MaskMonetario);" onKeyPress="Mascara(this,MaskMonetario);" onKeyUp="Mascara(this,MaskMonetario);"/>
.... ;)

aew depois disso...até da pra faze um replace no campo e tirar os pontos (.) e virgulas (,) trocando eles por nada () aew vai gravar só o numero no banco :lol: da uma pesquisadinha no replace se kiser :D

#3 Will C

Will C

    Turista

  • Usuários
  • 34 posts
  • Sexo:Masculino
  • Localidade:Montenegro

Posted 19/11/2010, 13:36

A máscara funcionou mesmo, porém tem isso, queria que quando clicasse no submit, enviasse o valor em vírgulas

como faço isso ?

O replace tentei usar mas não consegui.
Ele não vai chegar a gravar no banco de dados, ele vai fazer uma pesquisa no banco de dados.

Ele calcula e pesquisa valores maiores do que o valor min, e valores menores do que o valor max.

Ou ainda essa função replace para tirar pontos e vírgulas, tem como fazer funcionar num select?

Edição feita por: Will C, 19/11/2010, 13:40.

Will C.

#4 Menty

Menty

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 26/11/2010, 07:38

o replace funciona da seguinte maneira >>>
$novovalor = str_replace('.', ',', $valorantigo);
obs : onde ($novovalor = variável q vai receber o valor com a virgula no lugar do ponto) e ($valorantigo = é o campo original, q ta vindo do formulário via post ou get)....aew na hora de gravar no banco vc vai receber a variável ($novovalor) assim, oq q vai gravar no banco é o valor com vírgula (ex.. 5,78)....intendeu ??? no caso de fazer isso noo select eu ja não sei..ou melhor...nunca tentei ^^ :lol:

no caso vc poderia fazer um array.....
$array = array('.',',');
$novovalor = str_replace($array,"", $valorantigo);
aew então ele vai substituir tdas os valores que vc colocar no array por nada ( "" ). então vc poderá gravar no banco a variavel "$novovalor", q vai ser o o valor monetário mas SEM as virgulas e pontos... ;)

Edição feita por: Menty, 26/11/2010, 07:39.


#5 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 01/11/2017, 18:17

Discount Zentel With Free Shipping cialis Farmacie Online Viagra Probepackung Kostenlos
Cialis Perime Zentel 400mg By Money Order Shipped Ups levitra 40 mg Is Cephalexin Good For A Uti Cialis A Vendre Montreal

#6 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 23/11/2017, 00:50

Acheter Cialis Angleterre Free Shipping Isotretinoin Generic Viagra Canada Rx cialis Canadian Pharmacy Cheap Amoxil Alli Orlistat




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq