Indice dei tutorials: http://gheryd.blogspot.com/2011/06/javascript-gwt-tutorials.html
Questa regular expression server per testare il corretto formato per le targhe italiane sia nuovo (AA123BB) che vecchio tipo (MI12345, MI123456, ROMA12345, ROMA123456):
var targaRExp = /^(([a-zA-Z]{2}\d{3}[a-zA-Z]{2})|(([a-zA-Z]{2}|roma)(\d{5}|\d{6})))$/i
var targa = prompt("inserire una targa:");
if( targaRExp.test(targa) ) {
alert("formato targa corretto");
}else {
alert("formato targa scorretto");
}
Questa regular expression server per testare il corretto formato per le targhe italiane sia nuovo (AA123BB) che vecchio tipo (MI12345, MI123456, ROMA12345, ROMA123456):
var targaRExp = /^(([a-zA-Z]{2}\d{3}[a-zA-Z]{2})|(([a-zA-Z]{2}|roma)(\d{5}|\d{6})))$/i
var targa = prompt("inserire una targa:");
if( targaRExp.test(targa) ) {
alert("formato targa corretto");
}else {
alert("formato targa scorretto");
}
grande gheryd sono io, nel game Kallithea.
RispondiEliminaottimo blog per imparare del codice...
Ciao ottima regola. C'è un problema, nelle nuove targhe ad esempio AA123BB non è possibile inserire le seguenti lettere "qiuo" nelle prime 2 e nelle ultime 2 lettere. per il resto è perfetto
RispondiEliminaUhmmm... non proprio, anzi non esattissimo.
EliminaTutte le lettere non comprendono i,o,q, u come scrivi tu, ma in particolar modo la SECONDA lettera non compende neanche la lettera E.
Quindi deve essere specificato un intervallo CUSTOM (come sotto) ma solo per le targhe -AUOTVEICOLI- perchè i CICLOMOTORI e MOTOVEICOLI hanno altre regole:
/[A-D][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][A-D]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][F-H]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][J-N]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][P]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][R-T]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/[E-F][V-Z]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/F[A-H]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/XA\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/YA\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
/Z[A-B]\d{3}[A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z][A,B,C,D,E,F,G,H,J,K,L,M,N,P,R,S,T,V,W,X,Y,Z]/i
Il mio problema è un altro:
il pattern non si ferma al numero delle lettere max (7) ma va oltre anche mettendo il dollaro...
la mia sintassi sarebbe questa:
m/[a-d][a-d]\d{3}[a-d][a-d]/i
esempio:
DD123AA --->OK
DD123A --->NO
DD123AAA --->OK *E NON DOVREBBE ESSERLO!
Qualche idea?
Ciao.
G.
Questo commento è stato eliminato dall'autore.
RispondiEliminaHo cercato una regular expression che gestisse correttamente il formato targhe italiane per autoveicoli del 1994, ma nessuna che gestisse correttamente le esclusioni (I, O, Q, U ed Escursionisti Esteri).
RispondiEliminaCosì l'ho fatta da me. 😝
/(?!EE)(?!Ee)(?!eE)(?!ee)[A-HJ-NPR-TV-Za-hj-npr-tv-z]{2}\d{3}[A-HJ-NPR-TV-Za-hj-npr-tv-z]{2}\b/g
https://regexr.com/5g1nc