【问题标题】:How to add in 4 alphanumeric with space in Text Input?如何在文本输入中添加 4 个带空格的字母数字?
【发布时间】:2020-10-10 03:08:39
【问题描述】:

我想以这种格式添加一个 TextInput:-

XXXX XXXX XXXX XXXX

对于 XXXX 可以是字母或数字。

我收到此代码,但它仅适用于数字。

_handlingCardNumber(number) {
  this.setState({
    cardNumber: number.replace(/\s?/g, '').replace(/(\d{4})/g, '$1 ').trim()
  });
}

我该如何处理数字和字符串?

请帮忙。

【问题讨论】:

  • \d 匹配任何数字 (0-9),因此将 /(\d{4})/g 更改为 /([\dA-Z]{4})/gi,它将匹配数字 (\d) 和 alpha 字符 (A-Z)。最后添加的i 使其不区分大小写,这意味着A-Z 也将匹配a-z

标签: javascript react-native textinput


【解决方案1】:

这可以工作。

number.replace(/\s?/g, '').replace(/(\d{4}|[a-zA-z]{4})/g, '$1 ').trim()

【讨论】:

    【解决方案2】:

    由于你只需要替换字母数字字符串,你可以使用\w来匹配,等于[A-Za-z0-9_]

    var number = "82ac3bd4 rtfs 6738";
    
    var cardNumber = number.replace(/\s?/g, '').replace(/(\w{4})/g, '$1 ').trim();
    
    console.log(cardNumber);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2015-05-22
      • 2018-08-02
      • 2023-03-29
      • 2020-08-23
      • 1970-01-01
      相关资源
      最近更新 更多