Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Regex javascript

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    39

    Regex javascript

    Ciao a tutti,
    mi serve costruire una regex per validare un TextField "Street" di un form.
    Io ho costruito la regex per impedire che vengano inseriti caratteri accentati ma non riesco a fagli capire come accettare le parole con gli spazi. ES: "via campino" non l'accetta pechè c'è lo spazio.

    Questo è quello che faccio:
    if (field.attributes["ddv-regexp"] != null) {
    var re = new RegExp("^" + field.attributes["ddv-regexp"].value + "$")

    if (field.value.match(re) == null) {
    alert("Unknow formart!")
    field.focus()
    return false
    }
    }

    Come posso fare?
    grazie
    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dovresti dire cosa e` la variabile field e a cosa si riferisce .attributes.
    Chi scrive gli attributi? L'utente o il programmatore?

    Poi mi pare che usi in modo improprio il metodo .match: ritorna un vettore, non so se puo` essere == null
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    39
    Ho trovato questo metodo già fatto su internet, non ho molta esperienza in campo javascript.
    In pratica 'field' è il campo da validare e 'attributes' è fissato da me quando creo l'oggetto TextField (con l'attributo ddv-type=""). La funzione di validazione valida anche campi numerici e testo, la differenziazione avviene sull'attributo 'ddv-type'.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Senza conoscere il contesto e` impossibile aiutarti.
    Si potrebbe tentare qualche interpretazione, ma con il rischio di prendere delle grosse cantonate.

    In pratica stai dicendo che hai trovato qualcosa, che non sai bene cosa sia e che l'hai implementata, ma ti da` dei problemi: non mi meraviglia (mi meraviglierebbe il contrario).

    Si puo` procedere in due modi:
    - presenti un problema e chiedi consiglio su come risolverlo (a prescindere della soluzione che puoi aver trovato tu);
    - ci fai vedere cosa hai fatto, pero` dobbiamo conoscere tutto della pagina, quindi posta un link.

    PS: io di RegExp in questo post non ne ho viste ancora
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    39
    Facciamo la soluzione 1 allora, è più semplice. Ciò che mi serve fare mi sembra di averlo riportato nel primo post, ma lo rispiego nuovamente: validare un campo testo di un form. Tale campo indica la Via di residenza (ES: "via enrico toti 4").
    Le condizioni di validazione sono:
    - può essere testo;
    - possono essere numeri;
    - può essere composto da più parole (con spazi)
    - non devono esserci caratteri 'strani' (lettere accentate,%,£...)

    Con o senza regex, come posso fare?
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A questo si risponde facilmente:
    codice:
      var campo = document.getElmentById('ID_FORM').NOMECAMPO;
      if(!campo.value.match(/^\w[\w \d]+$/i) {
        alert("il campo contiene caratteri non permessi");
        campo.focus();
        return false;
      }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    39
    Grazie, sei stato molto gentile. Evidentemente avevo mal posto il problema.Un'ultima cosa, per validare in modo simile ma non ammettere numeri qual'è il controllo?

    grazie
    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Intendi lettere e spazi? Escludendo lo spazio come primo carattere? Almeno due caratteri totali?
    /^\w[\w ]+$/

    Nel primo post mi ero concentrato sul codice, ed avevo rilevato varie cose strane; per cui non avevo badato troppo alle parole scritte (e in effetti il codice risultante e` piuttosto diverso dal tuo).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.