Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Sostituire il punto con la virgola in una funzione

    Salve,
    Ho questa funzione che, in un campo di testo che accetta solo valori numerici e tramite un "onkeyup", serve per sostituire le virgole o altri caratteri strani con il punto, e in più fa si che si abbiano sempre due decimali (non permette di inserire una terza cifra dopo il punto)
    codice:
    function jm_currencymask(t)
    {
    if(t.value!='')
    {t.value = t.value.replace(/,/gi,'.');}
    var patt = /(\d*)\.{1}(\d{0,2})/;
    var donepatt = /^(\d*)\.{1}(\d{2})$/;
    var str = t.value;
    var result;
    if (!str.match(donepatt))
    {result = str.match(patt);
    if (result!= null)
    {t.value = t.value.replace(/[^\d]/gi,'.');
    str = result[1] + '.' + result[2] ;
    t.value = str;
    }}}
    Bene: e se io invece volessi sostituire i caratteri strani NON con il punto ma con la virgola, ina maniera da adattarlo alla notazione italiana? (1234,56 anzichè 1234.56)
    Come posso fare? Grazie in anticipo per le risposte...
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  2. #2
    Semplice, basta sostituire al punto la virgola:
    function jm_currencymask(t)
    {
    if(t.value!='')
    {t.value = t.value.replace(/\./gi,',');}
    var patt = /(\d*),{1}(\d{0,2})/;
    var donepatt = /^(\d*),{1}(\d{2})$/;
    var str = t.value;
    var result;
    if (!str.match(donepatt))
    {result = str.match(patt);
    if (result!= null)
    {t.value = t.value.replace(/[^\d]/gi,'.');
    str = result[1] + ',' + result[2] ;
    t.value = str;
    }}}

    Non ho testato, spero funzioni

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.