Instead of checking if it's a symbol you don't want, just check if it's a symbol you want. Do it under the "on text changed" condition, and the length can be truncated there too.
global text allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+-------------------------------------------+
| textbox: on text changed |
+-------------------------------------------+
local text filtered = ""
+---------------------------------------+
| system: repeat 8 times | system: add mid(TextBox.Text,loopindex,1) to filtered
|System: find(allowed, |
| mid(TextBox.Text,loopindex,1)) <> -1 |
+---------------------------------------+
+---------------------------------------+
| | textbox: set text to filtered
+---------------------------------------+[/code:20x8j9rq]