Text validation in AppSheet can be a little challenging.
This sample app uses a different approach;
An EnumList table that stores the list of allowable characters, to be reused for validating multiple columns throughout the app-- or for generating lists for buttons and dropdowns.
SPLIT() into a real list, and then subtracted from the user input-- which has been converted to a list of single characters.
This gets around the editor limitation of typing apostrophes in formulas, and cleans up the expressions by referencing the list, instead of listing every item directly in the expression.