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

    script codice fiscale e partita iva

    Ho una pagina con uno script che convalida e controlla che tutti i campi sono compilati.

    A questo vorrei aggingere uno script che controlli la stringa di due campi e ne convalidi e contriolli la struttura.

    In poche parole i due campi sono codice fiscale e partita iva e vorrei che se un utente inserisse una stringa non ammissibile ne impedisca l'invio del form.

    A questo link c'è la pagina

    qui invece c'è il codice di validazione:


    <SCRIPT>
    function codiceFISCALE(cfins)
    {
    var cf = cfins.toUpperCase();
    var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
    if (!cfReg.test(cf))
    return false;
    var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    var s = 0;
    for( i = 1; i <= 13; i += 2 )
    s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
    s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
    return false;
    return true;
    }
    </SCRIPT>

    Può essere usato ad esempio in questo modo:
    <SCRIPT>
    function CheckForm()
    {
    var CFok=codiceFISCALE(document.modulo.cfisc.value)
    if (CFok==false)
    {
    alert("Codice Fiscale errato");
    return false;
    }
    else
    return true;
    }
    </SCRIPT>
    . . .
    . . .
    <FORM NAME="modulo" onSubmit="return CheckForm()">
    <INPUT TYPE='text' NAME='cfisc'>

    <INPUT TYPE='submit' VALUE=' - Invia - '>
    </FORM>



    -----------------------------------------------------------


    <SCRIPT>
    function partitaIVA(sz_Codice)
    {
    var n_Val,n_Som1=0,n_Som2=0,lcv;
    if (sz_Codice.length!=11 || isNaN(parseFloat(sz_Codice)) || parseFloat(sz_Codice)<parseFloat(0))
    return false;

    for (lcv=0;lcv<9;lcv+=2)
    {
    n_Val=parseInt(sz_Codice.charAt(lcv));
    n_Som1+=n_Val;
    n_Val=parseInt(sz_Codice.charAt(lcv+1));
    n_Som1+=Math.floor(n_Val/5) + (n_Val<<1) % 10;
    }
    n_Som2 = 10 - (n_Som1 % 10);
    n_Val=parseInt(sz_Codice.charAt(10));
    if (n_Som2==n_Val)
    return true;
    return false;
    }
    </SCRIPT>

    Può essere usato ad esempio in questo modo:
    <SCRIPT>
    function CheckForm()
    {
    var PIvaOk=partitaIVA(document.modulo.piva.value)
    if (PIvaOk==false)
    {
    alert("Partita IVA errata");
    return false;
    }
    else
    return true;
    }
    </SCRIPT>
    . . .
    . . .
    <FORM NAME="modulo" onSubmit="return CheckForm()">
    <INPUT TYPE='text' NAME='piva'>

    <INPUT TYPE='submit' VALUE=' - Invia - '>
    </FORM>
    Vorrei inserire il codice nella mia pagina ed integrarlo con l'altro.
    L'importante è partecipare

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    poi semplificare entrambi i codice usando le regexp! poi che significa "Vorrei inserire il codice nella mia pagina ed integrarlo con l'altro"
    basta mettere gli script nell'head del documento e poi richiamare le funzione così come dimostrato!

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Ho già inserito lo script nell'head della pagina ma avendo proprietà simili a quello esistente va in conflitto.

    Potresti provare a inserirlo tu nella pagina?
    L'importante è partecipare

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    codice:
    <SCRIPT> 
    function codiceFISCALE(cfins) 
    { 
    var cf = cfins.toUpperCase(); 
    var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/; 
    if (!cfReg.test(cf)) 
    return false; 
    var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; 
    var s = 0; 
    for( i = 1; i <= 13; i += 2 ) 
    s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); 
    for( i = 0; i <= 14; i += 2 ) 
    s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); 
    if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) 
    return false; 
    return true; 
    } 
    function partitaIVA(sz_Codice) 
    { 
    var n_Val,n_Som1=0,n_Som2=0,lcv; 
    if (sz_Codice.length!=11 || isNaN(parseFloat(sz_Codice)) || parseFloat(sz_Codice)<parseFloat(0)) 
    return false; 
    
    for (lcv=0;lcv<9;lcv+=2) 
    { 
    n_Val=parseInt(sz_Codice.charAt(lcv)); 
    n_Som1+=n_Val; 
    n_Val=parseInt(sz_Codice.charAt(lcv+1)); 
    n_Som1+=Math.floor(n_Val/5) + (n_Val<<1) % 10; 
    } 
    n_Som2 = 10 - (n_Som1 % 10); 
    n_Val=parseInt(sz_Codice.charAt(10)); 
    if (n_Som2==n_Val) 
    return true; 
    return false; 
    } 
    function CheckForm() 
    { 
    var PIvaOk=partitaIVA(document.modulo.piva.value) 
    var CFok=codiceFISCALE(document.modulo.cfisc.value) 
    if (PIvaOk==false || CFok==false) 
    { 
    alert("Partita IVA o Codice Fiscale errati"); 
    return false; 
    } 
    else 
    return true; 
    } 
    </SCRIPT> 
    <FORM NAME="modulo" onSubmit="return CheckForm()"> 
    <INPUT TYPE='text' NAME='piva'> 
     
    <INPUT TYPE='text' NAME='cfisc'> 
    
    <INPUT TYPE='submit' VALUE=' - Invia - '> 
    </FORM>
    cosi?

  5. #5
    Quello che mi hai proposto l'ho già fatto e non funge.

    Io in questo thread ho messo la mia pagina e il codice.

    La pagina col form cel'ho già ed ho il codice che mi va in conflitto con la mia pagina.
    L'importante è partecipare

  6. #6
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    L'unico motivo che mi viene in mente è che usi o funzioni con nome uguale o variabili globali con nome uguali!

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  7. #7
    Non so dove io sabgli ma ho messo il tutto in quedto forum sperando che qualcuno sia più bravo di me a risolvere il problema.
    L'importante è partecipare

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    <SCRIPT language=JavaScript type=text/javascript>
    <!--
    function codiceFISCALE(cfins) 
    { 
    var cf = cfins.toUpperCase(); 
    var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/; 
    if (!cfReg.test(cf)) 
    return false; 
    var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; 
    var s = 0; 
    for( i = 1; i <= 13; i += 2 ) 
    s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); 
    for( i = 0; i <= 14; i += 2 ) 
    s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); 
    if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) 
    return false; 
    return true; 
    } 
    
    function partitaIVA(sz_Codice) 
    { 
    var n_Val,n_Som1=0,n_Som2=0,lcv; 
    if (sz_Codice.length!=11 || isNaN(parseFloat(sz_Codice)) || parseFloat(sz_Codice)<parseFloat(0)) 
    return false; 
    
    for (lcv=0;lcv<9;lcv+=2) 
    { 
    n_Val=parseInt(sz_Codice.charAt(lcv)); 
    n_Som1+=n_Val; 
    n_Val=parseInt(sz_Codice.charAt(lcv+1)); 
    n_Som1+=Math.floor(n_Val/5) + (n_Val<<1) % 10; 
    } 
    n_Som2 = 10 - (n_Som1 % 10); 
    n_Val=parseInt(sz_Codice.charAt(10)); 
    if (n_Som2==n_Val) 
    return true; 
    return false; 
    } 
    
    function checkform ( form )
    {
    
      // ** START **
    ...
      if (!codiceFISCALE(form.fiscale.value)) {
        alert( "Codice Fiscale incorretto" );
        form.fiscale.focus()
        return false ;
      }
      if (!partitaIVA(form.iva.value)) {
        alert( "Partita IVA incorretta" );
        form.iva.focus()
        return false ;
      }
      // ** END **
      return true ;
    }
    ciao

  9. #9
    Mi puoi dare l'email che ti spedisco la pagina e lo provi tu?

    Non arriveremo mai alla soluzione così se non lo provate nella pagina.

    Va in conflitto con un altro script, dovete provarlo nella pagina!!!
    L'importante è partecipare

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma quale altro script?
    l' unico altro script nella pagina è quello di supereva e non va in conflitto

    piuttosto il parametro non chiamarlo form!

    la mia mail è il primo simbolo in firma,
    ciao

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.