I believe you can accomplish what you want using an OnObjectKeystroke Script Trigger.
In addition to what Mike said, you can limit the number of characters in the field to 3. This will prevent users from entering any more characters beyond that.
Here is an example of how it works. You script trigger to capture the character and on modify evaluate and decide what to do such as go to the next field if the test condition is true.
Here are the two scripts you will need and the script trigger for the field.
Bob, a point to bear in mind is that script triggering operates only on the field instance where it is applied. If there is any chance of an accessible, editable instance of the field anywhere on your interface which does not have the script trigger you might want to apply the field validation character limit (as suggested above) as well.