在React Native中使用正则表达式对电话进行验证

时间:2019-06-19 09:25:32

标签: regex reactjs react-native

我希望限制用户在输入字段中输入任何特殊字符,除了第一个字符为+,并且字符总数不超过15。我想在React Native中使用onChangeText上的正则表达式检查它。如果用户使用另一个+,则应该对其进行限制。

我正在使用下面的表达式,该表达式仅接受数字,但现在我希望它接受第一个字符为+

export default (val) => {
  return val.replace(/\D+/g, '')
}

1 个答案:

答案 0 :(得分:1)

您可以使用

export default (val) => {
  return val.replace(/^(\+)|\D/g, '$1')
}

请参见regex demoregex graph

enter image description here

正则表达式会在字符串的开头或所有其他上下文中的任何非数字char处将+匹配并捕获到组1中,并且将匹配项替换为组1的内容。因此,如果存在开头的+,它将被放回到结果字符串中,否则将从字符串中删除。