В ситуациях, подобных вашей, вы должны спросить себя, что проще:
- Создайте REGEXP, который блокирует определенные символы
- Создайте REGEXP, который разрешает определенные символы
Выбор, который вы выбираете, должен зависеть от того, какой из них требует меньше работы и быть более надежным.
Написание шаблона, блокирующего все символы, зависит от вашего запоминания все возможные символы - не только знаки препинания, но и образцы эмодзи, математические символы и т. д.
Если все, что вам нужно, это разрешить только цифры и буквы, вы можете сделать: 1020 * / - это псевдоним для символов, отличных от буквенно-цифровых c. Единственное предостережение: буквенно-цифровые символы c включают символы подчеркивания, поэтому, если вы хотите заблокировать и их:
str.replace(/\W|_/g, '');