ограничить спецсимволы вactNative TextInput - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь помешать моему TextInput получить значения типа $,%,^,&,(,) etc.В основном мой TextInput должен разрешать только буквы.Мой подход заключается в следующем.Но все же я могу ввести эти другие символы.Как я могу предотвратить специальные символы из TextInput

restrict(event) {
        const regex = new RegExp("^[a-zA-Z]+$");
        const key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }
    }

                         <TextInput
                                underlineColorAndroid='transparent'
                                allowFontScaling={false}
                                style={styles.questionText}
                                onKeyPress={e => this.restrict(e)}
                                value={firstNameState}
                            />

1 Ответ

0 голосов
/ 20 августа 2019

Событие onKeyPress на андроиде работает не очень хорошо.

Именно поэтому я решил использовать метод, который удаляет эти символы, а затем сохраняет его где угодно, так же, как он может изменить состояниеваше поле.

restrict = text => text.replace(/[`~0-9!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...