gpt4 book ai didi

javascript - 正则表达式在 Adonis Js 中无法正常工作

转载 作者:行者123 更新时间:2023-12-01 00:18:24 24 4
gpt4 key购买 nike

I have tried several regex found on SO and as google resulted.

我正在尝试使用regex作为adonis js中的验证规则

first_name: 'required|regex:[a-zA-z]+([\s][a-zA-Z]+)*$'

我的目标是实现这一目标;正则表达式仅接受单词之间的单个空格,

John Doe - True //(single space between words and no space before and after)
John Doe - True //(single space between and one space before)
John doe - true //(single space between and one space after)
jhon doe - false //(two spaces between words. )
John3 Doe - false
3John Doe - False

I have tried several regex which works on online regex checkers but does not responds properly in adonis

这里是一个https://regex101.com/r/pN8xL5/312

最佳答案

我不认识 Adonis,但看起来它试图匹配整个字符串。

使用regex101网站,我想出了以下正则表达式,其中gm选项:

^ *([a-zA-Z]+) ([a-zA-Z]+) *$

匹配:

  • ^ - 行开始,
  • * - 初始空格序列(如果有),
  • ([a-zA-Z]+) - 非空字母序列(第一个捕获组),
  • - 一个空格
  • ([a-zA-Z]+) - 另一个非空字母序列(第二个捕获组),
  • * - 尾随空格序列(如果有)。
  • $ - 行尾。

regex101中,它会根据您的需要匹配示例中的前 3 个输入行。

正如我所想,你的正则表达式应该只检查一个单个字符串,所以在正则表达式的最终版本中:

  • 删除前导 ^ 和尾随 $
  • 删除正则表达式选项,

所以你在 Adonis 中使用的正则表达式应该是:

 *([a-zA-Z]+) ([a-zA-Z]+) *

关于javascript - 正则表达式在 Adonis Js 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59608207/

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