【问题标题】:How to do validate full name in JS in React Native如何在 React Native 中验证 JS 中的全名
【发布时间】:2019-11-13 04:21:22
【问题描述】:

我有一个简单的表单,用于在 React Native 中注册我的应用程序。在一个步骤中,我验证用户名是否已满。最初,我编写了一个正则表达式来验证字符以及最小和最大大小,但我需要使用之前的规则来验证名称结构。

示例
有效名称:Luke SkywalkerBen SkywalkerLu Skywalker
无效名称:L SkywalkerLuke

我的正则表达式从这里开始:

const rule = /^[a-zA-Z ]{2,40}$/;

我应该如何编写这个正则表达式?对这些规则进行分组?

【问题讨论】:

  • 真的只有三个有效名称吗?或者,您给出的 3 个名称是否只是有效名称类型的一个示例?如果是后者,那您能不能也告诉我们辨别正确名称和错误名称的逻辑?
  • @TimBiegeleisen 只是示例。该规则考虑两个或多个名称,最少 3 个字符,最多 40 个字符。

标签: javascript regex react-native


【解决方案1】:

您可以尝试以下方法作为开始:^[a-zA-Z]{2,40} [a-zA-Z]{2,40}$

const pattern = /^[a-zA-Z]{2,40}( [a-zA-Z]{2,40})+$/;

console.info(pattern.test('Luke Skywalker'));
console.info(pattern.test('Ben Skywalker'));
console.info(pattern.test('Lu Skywalker'));

console.info(pattern.test('Lu Saber Skywalker'));
console.info(pattern.test('Ben The Ghost Skywalker'));

console.info(pattern.test('L Skywalker'));
console.info(pattern.test('Luke'));

【讨论】:

  • 非常感谢雪佛!在此模式中,您考虑固定两个名称,但是,如何动态地有效两个或多个名称?示例:Luke Skywalker ChevLuke Skywalker Sky Walker
  • 太棒了!这对我有用!感谢您的帮助! :)
猜你喜欢
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 2021-11-15
相关资源
最近更新 更多