react-native TextInput只能輸入純數(shù)字

如下所示,設(shè)置keyboardType='numeric',用戶輸入時(shí)就會(huì)彈出數(shù)字鍵盤,如果用戶通過粘貼或者其他方式輸入非數(shù)字時(shí),通過正則表達(dá)式把非數(shù)字替換成空字符串text.replace(/[^\d]+/, ''),達(dá)到只能輸入數(shù)字的目的。

代碼如下:

<TextInput
  style={{height: 40, borderColor: 'gray', borderWidth: 1}}
  onChangeText={(text) => {
    const newText = text.replace(/[^\d]+/, '');
    this.setState({inputValue: newText})
  }}
  value={this.state.inputValue}
  keyboardType='numeric'
/>

————————2018-7-27更新分割線————————

評論區(qū)有程序猿反映在iOS上無效,我寫了個(gè)實(shí)例測試。下面貼出完整代碼及效果圖,供大家學(xué)習(xí)。

  • 效果圖:


    效果圖.gif
  • 完整代碼(新建一個(gè)文件,全部粘貼即可):
import React, { Component } from 'react';
import {
  View,
  TextInput,
} from 'react-native';

export default class Demo extends Component {

 constructor(props) {
    super(props);
    this.state = {
      inputValue: "",
    }
  }

  render() {
    return (
      <View>
        <TextInput
          style={{height: 40, borderColor: 'gray', borderWidth: 1}}
          onChangeText={(text) => {
            const newText = text.replace(/[^\d]+/, '');
            //可以打印看看是否過濾掉了非數(shù)字
            console.log(newText)
            this.setState({inputValue: newText})
          }}
          value={this.state.inputValue}
          //為了方便測試時(shí)輸入字母,屬性(keyboardType)不設(shè)置,實(shí)際使用時(shí)加上
          // keyboardType='numeric'
        />
      </View>
    )
  }  
}
  • 設(shè)備信息和版本號
    測試手機(jī):iPhone 6 (真機(jī),而不是模擬器)
    react-native:0.51.0

注:如果沒有達(dá)到效果,可以嘗試換個(gè)環(huán)境,換真機(jī)測試,或者更換react-native版本。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評論 19 139
  • TextInput是一個(gè)允許用戶在應(yīng)用中通過鍵盤輸入文本的基本組件。本組件的屬性提供了多種特性的配置,譬如自動(dòng)完成...
    亭止閱讀 3,387評論 1 0
  • 對React-Native的學(xué)習(xí),從熟悉基本控件開始。 View 屬性方法 序號名稱屬性O(shè)r方法類型說明 1 ac...
    諾花生閱讀 928評論 0 0
  • http://www.cnblogs.com/Sweet-Candy/p/5695389.html React-N...
    心淡然如水閱讀 4,565評論 0 0
  • 【so easy之】如果想把一張白底圖片變成透明底,可以用PS: ...
    狗屁東西閱讀 232評論 0 0

友情鏈接更多精彩內(nèi)容