React Native TextInput that only accepts numeric characters

前端 未结 19 1096
轮回少年
轮回少年 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:17

    You can do it like this. It will only accept numeric values, and limit to 10 numbers as your wish.

     this.onChanged(text)}
       value={this.state.myNumber}
       maxLength={10}  //setting limit of input
    />
    

    You can see the entered value by writing the following code in your page:

    {this.state.myNumber}
    

    In the onChanged() function the code look like this:

    onChanged(text){
        let newText = '';
        let numbers = '0123456789';
    
        for (var i=0; i < text.length; i++) {
            if(numbers.indexOf(text[i]) > -1 ) {
                newText = newText + text[i];
            }
            else {
                // your call back function
                alert("please enter numbers only");
            }
        }
        this.setState({ myNumber: newText });
    }
    

    I hope this is helpful to others.

提交回复
热议问题