Visualizzazione dei risultati da 1 a 9 su 9

Discussione: regexp data

  1. #1

    regexp data

    ciao ragzzi chi mi aiuta a fare questo controllo
    sulla data
    ho trovato questo:
    ^((\d{2}((0[13578]|1[02])(0[1-9]|[12]\d|3[01])|(0[13456789]|1[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([02468][048]|[13579][26])0229)$
    che controlla una data in formato YYMMDD
    a me serve che controlli una data in questo formato YYYYMMGGhhmmss

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per il YYYY dovrebbe bastare sostituire il primo {2} con {4}.

    Per l'aggiunta dell'ora, o peschi dallo stesso link dove hai trovato quella RE, oppure ti accontenti di :

    (\d{2})(\d{2})(\d{2})$
    da sostituire al posto dell'ultimo $.
    (il $ finale sta per fine stringa, come il ^ iniziale per l'inizio).


    Tieni presente, che se usi un match, avrai altri tre elementi in piu` della matrice di uscita.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3

    ho provato

    ho provato cosi
    ma mi da errore:

    ^((\d{2}((0[13578]|1[02])(0[1- 9]|[12]\d|3[01])|(0[13456789]|1[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([02468][048]|[13579][26])0229)([0-1]\d|[2][0-3])\[0-5]\d\[0-5]\d)$

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Credo che ci sia un problema conle tonde, ma dipende dall'uso che vuoi fare del risultato della RE (manca l'istruzione che usa la RE).
    Comunque controlla il matching di tutte le parentesi.

    Credo che ogni elemento che vuoi estrarre vada racchiuso da tonde.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    questo è il codice:

    mt32=document.form1.DeactiveDate_set_value.value;
    if(mt32!="") {
    var myre^((\d{2}((0[13578]|1[02])(0[1- 9]|[12]\d|3[01])|(0[13456789]|1[012])(0[
    1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0- 8])))|([02468][048]|[13579][26])0229)([0
    -1]\d|[2][0-3])\[0-5]\d\[0-5]\d)$;
    if (!myre.test(mt32))
    {
    alert(" Nel campo DeactiveDate clausola SET il formato non è corretto ! YYYYMMGGhhmmss");
    return false;
    }
    }

    provo a controllare le parentesi
    solo che provando senza inserire il controllo sul hhmmss
    funziona
    e usando solo il controllo hhmmss funziona ugualmente
    uff con regexp non se capisce una mazza
    :-))

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Con il test di regexp, le tonde non ti servono per il risultato, quindi servono solo per separare i vari pezzi.

    Ma mi pare di aver visto un ) di tropppo alla fine (solo che la re e` troppo incasinata per poterla seguire tutta: ti conviene usare un editor di testi intelligente (tipo emacs) in grado di vedere il matching delle parentesi.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7

    confermo

    c'e' una parentesi di troppo

    mi tocca cercare l intoppo
    uff

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La mia impressione era che fosse l'ultima, prima del $
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9

    uff

    ho provato
    ma essendo il codice di un altro non ci si capisce una fava
    ci rinuncio
    faccio un controllo generale sulla quantita' di numeri che devono essereci
    e basta
    e troppo complessa

    grazie

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.