gpt4 book ai didi

javascript - 只允许输入字母或数字

转载 作者:行者123 更新时间:2023-11-29 18:39:36 30 4
gpt4 key购买 nike

我正在使用 React native 开发应用程序,并希望允许用户仅输入字母或数字,因此如果第一个字符是字母,则用户将无法在之后输入任何数字,如果是,则相反第一个字符是数字,然后用户将无法在此之后键入任何字母。实际上甚至不知道如何启动它,我想最好的办法可能是用正则表达式检查第一个字符,然后基于此禁用输入字母/数字,但不确定如何操作。

(/[a-zA-Z]/).test(this.state.myValue.charAt(0)) ? "disable typing numbers" : "disable typing letters"

我的 TextInput 看起来像这样:

<TextInput
onChangeText={e=> this.handleInput(e), "myValue"}
value={this.state.myValue}
/>

handleInput(value, key) {
/^(?:[A-Za-z]+|\d+)$/.test(value) ? "block number" : "block letter"

this.setState({[key]: value)}
}

最佳答案

你可以使用

/^(?:[A-Za-z]+|\d+)$/.test(this.state.myValue)

详情

  • ^ - 字符串的开始
  • (?: - “容器”非捕获组的开始:
    • [A-Za-z]+ - 1+ 个字母
    • | - 或
    • \d+ - 1+ 位
  • ) - 组结束
  • $ - 字符串结尾。

参见 regex demoregex graph :

enter image description here

关于javascript - 只允许输入字母或数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213818/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com