просто,
вы хотите создать текстовое поле, подобное тому, что вы можете ввести новую строку, должна иметь некоторую грамматику, которую вы хотите разрешить.
У меня есть грамматика проверки электронной почты, которая может вам помочь.
string = "/ алфавит / число / спецсимвол";
и еще один
user-input-string = "";
просто сравните лексемы, введенные пользователем, и вы определили грамматику.