Вы не можете никоим образом даже препятствовать попыткам внедрения SQL на стороне клиента. Это ужасная, ужасная идея, которая не может помочь вам, но может вызвать боль у настоящих пользователей. Это не остановит никого, у кого есть шанс использовать SQLi.
Что касается регулярного выражения, вам нужно добавить / в начале и в конце, как в вашем примере с почтой, чтобы обозначить его как регулярное выражение. Кроме того, я думаю, что дизайн регулярных выражений имеет недостатки, поскольку он все еще допускает множество векторов инъекций. Например, он допускает страшные одинарные кавычки, комментарии и прочее. Он даже не начинает охватывать все встроенные функции вашей СУБД, которые могут быть сбиты с толку. Злоумышленник часто использует, например, Операторы SELECT уже на вашей стороне сервера, поэтому их удаление, вероятно, тоже не поможет.
Ваша лучшая защита - использовать параметризованные запросы на стороне сервера (например, pg_prepare для php и postgres)