Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170

    validare campo Importo in Euro

    Anticipando che ho già usato la funzione cerca ed inserito questa richiesta dentro un post vecchio, non avendo ricevuto risposte, ne apro uno nuovo:
    io ho bisogno di un script che mi controlli che l'importo venga inserito con il punto se ci sono decimali diversi da 0(e solo con il punto, la virgola deve essere considerata non corretta, oppure formattata in modo che venga sostituita con il punto), oppure solo da cifre intere, ossia sia ritenuto corretto sia 15 che 15.00 che 15.37. Avevo provato a farlo con le reg. ex. ma riesco a fare validare solo il formato 15.37, non so come implementarlo al resto

    codice:
    var importo_exp =  /^([0-9]{1,10})\.([0-9]{0,2})$/;
    	if  (!importo_exp.test(importo_doc))  {
            alert("Il campo Importo Documento non e' valido (per separare le cifre usare il punto, non la virgola)");
            document.forms[0].importo_doc.focus();
            document.forms[0].importo_doc.select();
            return false;
    	}
    Accetto ogni suggerimento, grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    La tua regex e' sbagliata:

    codice:
    /^([0-9]{1,10})\.([0-9]{0,2})$/
    Cosi' tu gli dici che il punto e' obbligatorio. Prova con:

    codice:
    /^([0-9]{1,10})(\.([0-9]{0,2))?$/
    Spero di non avere scritto cavolate perche' le regex sono dei trabocchetti
    There are 10 types of people in the world - those who understand binary and those who don't.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170

    non funziona

    adesso mi prende solo le cifre senza punto e cifre decimali, praticamente il contrario di prima.
    A me invece serve che prenda entrambi i formati!
    Possibile che nessuno mi possa aiutare?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    /^\d+(\.\d{1,2})?$/

    questa accetta
    1.0
    1.00
    0.1
    0.10
    1
    Qualsiasi numero privo di punti decimali

    Non accetta
    1.
    .0
    .00
    1.000
    1,5 (con la virgola)
    campo vuoto



    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170

    Perfetto!!!

    Funziona alla grande, quindi ti chiedo un'ultima cosa: per fare il controllo sul formato della data io uso:
    var data_reg_exp = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
    però questa mi piglia anche date come 99/99/4020
    Come posso migliorarla? Oppure di solito si usa qualcos'altro?
    Grazie ancora per l'aiuto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.