Взгляните на ТВЕРДЫЕ принципы . Они помогут вам в ваших проектах. В частности, принцип единой ответственности скажет вам не смешивать две проблемы в одном классе, а принцип подстановки Лискова скажет вам не создавать подклассы, которые нарушают контракт суперклассов, как то, что вы также предлагаете.
Так, каково было бы решение в вашем случае? Вы можете создать абстрактный базовый класс, который будет независим от типа выбора, а затем создать 2 подкласса, один для одиночного выбора, а другой для множественного выбора.
Вы можете использовать метод replace
:
'Hey! The #123 sure is fun!'.replace(/[^A-Za-z]+/g, '');
>>> "HeyThesureisfun"
Если вы хотите сохранить пробелы:
'Hey! The #123 sure is fun!'.replace(/[^A-Za-z\s]+/g, '');
>>> "Hey The sure is fun"
Регулярное выражение / [^ az \ s] / gi
в основном говорит, что нужно сопоставить что-либо, кроме буквы az или пробела (\ s), делая это глобально (флаг g
) и игнорируя регистр строки ( i
флаг).