However I suspect that the two Filters cause a conflict in the calculation causing it to fail.
Wrong functions; use Left, Middle and Right for strings, and their xValues counterparts for dealing with CR-delimited lists. Also, you'd need to use IsEmpty() to get a Boolean result; OTOH, in this case you want to check on a specific length.
Let ( [
f = Testing::TourNumber ;
digits = "0123456789" ;
chars = "ABCDEFGHIJKLMNOPQRSTVWXYZ" ;
l = Length ( Filter ( Left ( f ; 2 ) ; digits ) ) = 2 ;
m = Length ( Filter ( Middle ( f ; 3 ; 6 ) ; chars ) ) = 6 ;
r = Length ( Filter ( Right ( f ; 5 ) ; digits ) ) = 5
l and m and r