Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    598

    Espressione regolare in errore

    Sto cercando di validare il nome utente utilizzando javascript, il nome utente deve essere composto da almeno 8 caratteri e max 16, e può contenere lettere maiscole e minuscole, numeri e i cartteri . _ -
    Ora ho elaborato questa espressione regolare in un metodo:

    var pattern_u = new RegExp("[a-zA-Z0-9\-\.\_]{8,16}")

    if (username.search(pattern_u) == -1) {
    alert("Il nome utente non è valido");
    return;
    }

    va bene se inserisco ad esempio 1234567' mi da errore
    va bene se inserisco ad esempio 12345678 ok

    fallisce se inserisco aaaaaaaa'(cioè il programma mi dice che è corretto ma invece secondo le mie specifiche no!!!)

    Come mai?
    grazie
    Soffrire sempre mollare mai

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    fa cio' che chiedi:
    vuoi da 8 a 16 caratteri tra quelli consentiti e tu ne hai 8,
    che poi sia seguito da un carattere non consentito e' irrilevante secondo la sintassi dello script

    verifica da inizio a fine stringa con
    new RegExp("^[a-zA-Z0-9\-\.\_]{8,16}$")

    poi, sbaglio o i singoli backslash vanno raddoppiati nel pattern di un oggetto regExp?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    598
    grazie ho aggiunto ^ e $ ed ora va bene
    Soffrire sempre mollare mai

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.