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

    Sostituire secuenza di numeri con asterischi

    Ho una sezione nel mio sito in cui gli utenti inseriscono degli annunci. Voglio evitare di visualizzare numeri di telefono inseriti da loro.

    Perciò avrei bisogno di fare uno script che mi permetta di sostituire i numeri di telefono con degli asterischi. Che ne so... quando vedo che ci sono 5 cifre numeriche una dietro l'altra allora capisco che potrebbe essere un telefono e lo sostituisco con degli asterischi.

    Qualcuno di voi mi sa dire come posso fare?

    Grazie
    Pablo Ramiro Gonzales Pereira Garcia, Perez Blanco Rodriguez, Gomes Gallardo Ramirez, Lopez Vera Rameira, Vega Rosario Lorca Martinez
    www.benents.it
    I video su youtube

  2. #2
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    ti scrivi una funzione che si mangi una stringa e restituisca una stringa con le cifre sostituite da asterischi...
    codice:
    Function Asterisca(stringa)
    
        Aterisca = ""
        For t = 1 To Len(stringa)
            x = Mid(stringa, t, 1)
            If IsNumeric(x) = True Then
                Asterisca = Asterisca & "*"
            Else
                Asterisca = Asterisca & x
            End If
        Next t
        
    End Function
    ciao

  3. #3
    Innanzi tutto, grazie....

    il problema è però che non vorrei sostituire tutti i numeri perchè potrei per errore sostituire altri numeri che non sono numeri telefonici.

    Dovrei sostituire solo i numeri facenti parti di un insieme di numeri es:

    Se il testo fosse questo:

    testo testo 1 2 3 testo testo testo 1234567 testo testo 1 testo 2 testo 3

    io dovrei sostituire solo il numeri: 1234567 cioè quando ci sono più di 5 numeri di seguito verrebbe fuori questa stringa:

    testo testo 1 2 3 testo testo testo ******* testo testo 1 testo 2 testo 3

    i numeri singoli, preceduti da uno spazio o da caratteri numerici non vanno sostituiti.
    Pablo Ramiro Gonzales Pereira Garcia, Perez Blanco Rodriguez, Gomes Gallardo Ramirez, Lopez Vera Rameira, Vega Rosario Lorca Martinez
    www.benents.it
    I video su youtube

  4. #4
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    modifica la funzione in modo che a fronte di 5 cifre consecutive le sostituisce con 5 asterischi

    in questo modo la stringa
    testo testo 1 2 3 testo testo testo 1234567 testo testo 1 testo 2 testo 3

    viene sostituita da
    testo testo 1 2 3 testo testo testo *****67 testo testo 1 testo 2 testo 3

    per sostiruire anche le altre cifre seguenti è da aggiustare un attimo la funzione, ma credo che anche così assolva alla sua funzione...

    codice:
    Function Asterisca(stringa)
    
        lung = 5
        Aterisca = ""
        
        For t = 1 To Len(stringa) - lung
            x = Mid(stringa, t, lung)
            If IsNumeric(x) = True Then
                Asterisca = Asterisca & "*****"
                t = t + 5
            Else
                Asterisca = Asterisca & Mid(x, 1, 1)
            End If
        Next t
        
    End Function
    ciao
    L.

  5. #5
    Grazie... ho migliorato la funzione ... ve la posto





    Function Asterisca(stringa)

    Dim t,lung,x,a,b,c,d,e

    lung = 5
    Aterisca = ""
    response.write stringa & "
    "

    'Sostituisco gli spazi con un tag perchè danno problemi
    stringa=replace(stringa," ","[#S#]")

    'Ciclo tutti i caratteri della stringa
    For t = 1 To Len(stringa)
    'Trovo le 5 cifre successive al carattere corrente
    x = Mid(stringa, t, lung)

    'Trovo le 5 cifre prima o dopo il carattere corrente per vedere se sono numerici
    a="":b="":c="":d="":e=""
    if t>=lung then a = Mid(stringa, t-lung+1, lung)
    if t>=lung then b = Mid(stringa, t-lung+2, lung)
    if t>=lung then c = Mid(stringa, t-lung+3, lung)
    if t>=lung then d = Mid(stringa, t-lung+4, lung)
    if t>=lung then e = Mid(stringa, t-lung+5, lung)

    'Controllo se il carattere corrente è compreso in un intervallo di 5 numeri di fila
    if IsNumeric(a) = True or IsNumeric(b) = True or IsNumeric(c) = True or IsNumeric(d) = True or IsNumeric(e) = True then
    Asterisca = Asterisca & "*"
    Else
    Asterisca = Asterisca & Mid(x, 1, 1)
    End If

    Next

    Asterisca=replace(Asterisca,"[#S#]"," ")
    End Function





    Se richiamo la funzione così:
    response.write Asterisca("1 2 1-2-3-4-5 123456- 1234 12345 ciao w12345wd")

    mi restituisce questo:
    1 2 1-2-3-4-5 ******* 1234 ***** ciao w*****wd
    Pablo Ramiro Gonzales Pereira Garcia, Perez Blanco Rodriguez, Gomes Gallardo Ramirez, Lopez Vera Rameira, Vega Rosario Lorca Martinez
    www.benents.it
    I video su youtube

  6. #6
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    ottima, funge...

    l'unica cosa, l'utente ti può fregare se scrive per esempio "333 - 99 99 99" ma credo che sia una possibilità abbastanza remota, anche se un preventivo stringa = replace(stringa," ","") si potrebbe anche darlo

    proprio per essere sottili, eh...

    ciao
    L.

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