具有下划线和最小值并且没有最大出现的字母数字字符串模式的正则表达式 - javascript

She*_*rma 2 javascript regex jquery

我是regex的新手,并使用正则表达式在javascript/jquery中尝试验证,感谢任何帮助.

输入是:

  1. 字母数字字符串
  2. 最少3个下划线
  3. 下划线不能连续
  4. 下划线不能仅由空字符串分隔
  5. 字符串不能以下划线开头或结尾

有效的测试用例:

  1. Abc_def_gh_123
  2. Abc_def_1h_103_BA
  3. Abc_def_1h_103_BA

测试用例无效

  1. ___
  2. _ _ _
  3. Abc_d
  4. Abc_def_ghi_de21_
  5. Abc_def_fg
  6. Abc_def_fg_
  7. _Abc_def_fg

我在javascript中尝试过正则表达式

/^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9]+$/
Run Code Online (Sandbox Code Playgroud)

但它失败了,例如.如果字符串有超过3个下划线

fab*_*ian 6

这个正则表达式应该做的工作:

/^([a-zA-Z0-9]+_){3,}[a-zA-Z0-9]+$/
Run Code Online (Sandbox Code Playgroud)

  • `+ 1`我们有一个胜利者,很好,很清楚 (2认同)