Have you looked at searching the string by ascii character code?
If the lowercase ascii numbers are not found then the field would be upper case and/or special characters only.
I have not tried this - it's just an idea!
You could see if STRIP would work for ASCii numbers and then check for a difference in string lengths pre and post stripping any lower case values.
There may be other regualrly used methida that have not come to mind.