React Native TextInput that only accepts numeric characters

前端 未结 19 1119
轮回少年
轮回少年 2020-12-02 10:38

I need to have a React Native TextInput component that will only allow numeric characters (0 - 9) to be entered. I can set the keyboardType to

19条回答
  •  旧巷少年郎
    2020-12-02 11:42

    Using a RegExp to replace any non digit is faster than using a for loop with a whitelist, like other answers do.

    Use this for your onTextChange handler:

    onChanged (text) {
        this.setState({
            mobile: text.replace(/[^0-9]/g, ''),
        });
    }
    

    Performance test here: https://jsperf.com/removing-non-digit-characters-from-a-string

提交回复
热议问题