Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Regular Expression
domenica 22 luglio 2007 - 16.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
dom 22 lug 2007 - 16:39
Sapete dirmi qual'e' l'espressione regolare per validare una stringa che deve essere almeno di 7 caratteri di cui uno almeno non alfanumerico
Grazie
RobNet
Profilo
| Newbie
9
messaggi | Data Invio:
lun 23 lug 2007 - 14:13
Prova con questo [a-zA-z]{6,}[0-9]{1,}
La corrispondenza in questo caso è valida per qualsiasi posizione all' interno della stringa su cui effettui il controllo.
Ciao!
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 23 lug 2007 - 14:52
>Prova con questo [a-zA-z]{6,}[0-9]{1,}
>La corrispondenza in questo caso è valida per qualsiasi posizione
>all' interno della stringa su cui effettui il controllo.
Ciao,
sicuro che è giusta ? Nullatore ha chiesto almeno un carattere non alfanumerico (quindi che non sia nè numero nè lettera) tu hai specificato un carattere numerico.
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
RobNet
Profilo
| Newbie
9
messaggi | Data Invio:
lun 23 lug 2007 - 15:02
Ooops...avevo letto male..
..
Grazie mille David!
Mi correggo e faccio ammenda
sperando che questa volta vada bene: [a-zA-z0-9]{6,}[^ a-zA-z0-9]{1,}
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 23 lug 2007 - 15:08
>Ooops...avevo letto male..
..
>Grazie mille David!
>Mi correggo e faccio ammenda
sperando che questa volta vada
>bene: [a-zA-z0-9]{6,}[^ a-zA-z0-9]{1,}
Ciao!
Questa dovrebbe essere corretta, l'avevo pensata anche io ma mi sono chiesto, così come è scritta il carattere non alfanumerico si può mettere solo a fine stringa, se è a metà stringa non valida. Aspettiamo notizie da nullatore se gli va bene o meno.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
ghio
Profilo
| Newbie
41
messaggi | Data Invio:
lun 23 lug 2007 - 18:04
>>Ooops...avevo letto male..
..
>>Grazie mille David!
>>Mi correggo e faccio ammenda
sperando che questa volta vada
>>bene: [a-zA-z0-9]{6,}[^ a-zA-z0-9]{1,}
>
>Ciao!
>Questa dovrebbe essere corretta, l'avevo pensata anche io ma
>mi sono chiesto, così come è scritta il carattere non alfanumerico
>si può mettere solo a fine stringa, se è a metà stringa non valida.
>Aspettiamo notizie da nullatore se gli va bene o meno.
>Ciao
>
>David De Giacomi | Microsoft MVP
>
http://blogs.dotnethell.it/david/
se non ricordo male puoi anche sostituire [^ a-zA-z0-9] com \W che indica qualsiasi carattere non alfanumerico e [a-zA-z0-9] con \w che rappresenta invece qualsiasi carattere alfanumerico e solo per legibilità {1,} con il +.Solo che ho alcuni dubbi sul funzionamento, infatti, questa regex credo che non valga bene se inserisco una stringa con 5 carattteri alfanumerici e 2 non alfanumerici. Io se fossi in te separerei i problemi in 2, mispiego: tu vuoi validare una stringa che sia di almeno 7 caratteri e che contenga almeno un carattere non alfanumerico. puoi fare smplicemente un check della lunghezza sulla stringa per controllare la prima condizione ed un semplice \W+ o [^ a-zA-z0-9]{1,} percontrollare che la stringa contenga almenu un carattere non alfanumerico. Spero di essere stato chiaro, ciao, M
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
mar 24 lug 2007 - 09:28
>Questa dovrebbe essere corretta, l'avevo pensata anche io ma
>mi sono chiesto, così come è scritta il carattere non alfanumerico
>si può mettere solo a fine stringa, se è a metà stringa non valida.
>Aspettiamo notizie da nullatore se gli va bene o meno.
>Ciao
>
>David De Giacomi | Microsoft MVP
>
http://blogs.dotnethell.it/david/
Grazie ragazzi per l'attenzione.
Come hai immaginato il carattere non-alfanumerico si puo' trovare in qualsiasi posizione della stringa (devo validare delle password)...
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
mar 24 lug 2007 - 09:42
>se non ricordo male puoi anche sostituire [^ a-zA-z0-9] com \W
>che indica qualsiasi carattere non alfanumerico e [a-zA-z0-9]
>con \w che rappresenta invece qualsiasi carattere alfanumerico
>e solo per legibilità {1,} con il +.Solo che ho alcuni dubbi
>sul funzionamento, infatti, questa regex credo che non valga
>bene se inserisco una stringa con 5 carattteri alfanumerici
>e 2 non alfanumerici. Io se fossi in te separerei i problemi
>in 2, mispiego: tu vuoi validare una stringa che sia di almeno
>7 caratteri e che contenga almeno un carattere non alfanumerico.
>puoi fare smplicemente un check della lunghezza sulla stringa
>per controllare la prima condizione ed un semplice \W+ o [^ a-zA-z0-9]{1,}
>percontrollare che la stringa contenga almenu un carattere non
>alfanumerico. Spero di essere stato chiaro, ciao, M
Anche la tua idea è giusta....ma è implementabile con una regular expression?
Fatemi fare un piccolo quadro della situazione.
Devo validare l'inserimento di una password con le caratteristiche che ho descritto all'inizio del post.
Ho pensato di utilizzare un RegularExpressionValidator per potermi impratichire con le espressioni regolari (e per contenere il codice).
Nel tuo caso (forse) dovrei utilizzare un CustomValidator...ma in quel caso il controllo l'ho faccio da codice sfruttando tutta l'espressività del linguaggio di programmazione in uso (nel mio caso c#)...ma cio è facile
ghio
Profilo
| Newbie
41
messaggi | Data Invio:
mar 24 lug 2007 - 12:47
>>se non ricordo male puoi anche sostituire [^ a-zA-z0-9] com \W
>>che indica qualsiasi carattere non alfanumerico e [a-zA-z0-9]
>>con \w che rappresenta invece qualsiasi carattere alfanumerico
>>e solo per legibilità {1,} con il +.Solo che ho alcuni dubbi
>>sul funzionamento, infatti, questa regex credo che non valga
>>bene se inserisco una stringa con 5 carattteri alfanumerici
>>e 2 non alfanumerici. Io se fossi in te separerei i problemi
>>in 2, mispiego: tu vuoi validare una stringa che sia di almeno
>>7 caratteri e che contenga almeno un carattere non alfanumerico.
>>puoi fare smplicemente un check della lunghezza sulla stringa
>>per controllare la prima condizione ed un semplice \W+ o [^ a-zA-z0-9]{1,}
>>percontrollare che la stringa contenga almenu un carattere non
>>alfanumerico. Spero di essere stato chiaro, ciao, M
>
>Anche la tua idea è giusta....ma è implementabile con una regular
>expression?
>
>Fatemi fare un piccolo quadro della situazione.
>Devo validare l'inserimento di una password con le caratteristiche
>che ho descritto all'inizio del post.
>Ho pensato di utilizzare un RegularExpressionValidator per potermi
>impratichire con le espressioni regolari (e per contenere il
>codice).
>Nel tuo caso (forse) dovrei utilizzare un CustomValidator...ma
>in quel caso il controllo l'ho faccio da codice sfruttando tutta
>l'espressività del linguaggio di programmazione in uso (nel mio
>caso c#)...ma cio è facile
>
Esatto fai qualcosa del tipo :
bool bootemp=false;
if (mytxt.text.lenght()>6)
{
string mypattern="\W+";
Regex rxx = new Regex( mypattern);
if (rxx.Match( mytxt.text).Success)
bootemp=true;
}
return bootemp;
così avrai nella variabile bootemp la validazione della tua P@ssw0rd. Ciao
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 25 lug 2007 - 14:39
>>Anche la tua idea è giusta....ma è implementabile con una regular
>>expression?
>>
Perdonami. Mi sono espresso male. Volevo dire se tutto quello che è stato detto sopra sia gestibile solo con un RegularExpressionValidator.
ghio
Profilo
| Newbie
41
messaggi | Data Invio:
mer 25 lug 2007 - 17:34
>>>Anche la tua idea è giusta....ma è implementabile con una regular
>>>expression?
>>>
>
>
>Perdonami. Mi sono espresso male. Volevo dire se tutto quello
>che è stato detto sopra sia gestibile solo con un RegularExpressionValidator.
>
credo che potresti usare 2 regole consecutive la prima del tipo .{7,} mentre la seconda sarebbe \W+ se passa tutte e due i check la password sarà buona. ciao, M
0v3rCl0ck
Profilo
| Guru
1.120
messaggi | Data Invio:
gio 26 lug 2007 - 10:51
Ciao,
questa regular fa il match che hai richiesto: ^(?=(?:\w*[\W])+)(?!.*\s).{7}$
Enjoy it
http://blogs.dotnethell.it/Regulator/
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
gio 26 lug 2007 - 19:04
Grande, immaginavo si potesse fare solo con una regex.
Senti visto che ci siamo e visto che l'msdn mi risulta un po' intrecciato a livello di spiegazione, mi puoi dire come hai composto questa regex?
Grazie
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !