Javascript帮助正则表达式



我需要一些javascript正则表达式的帮助,因为我搞不懂。正则表达式需要以下条件:

  1. 最少3个字符
  2. 最多40个字符
  3. 仅包含字母、数字和空白(没有换行符和其他字符,如?、_、…)
  4. 只能包含1*,但不能超过3个字符

以下是一些测试数据:

  • 我有一些测试数据->OK
  • 我有一些测试数据->OK
  • 我*是一些测试数据->NOK(*在3个字符后)
  • 我是*some*testdata->NOK(0或1次a*)
  • 我是一些测试数据,我比最大值长得多->NOK(到长)
  • AB->NOK(不够长)

因为我不擅长创建正则表达式,所以这是我迄今为止收集的内容(但我无法将它们放在一起):

  • /[^\S\n]/->只有空白,没有换行符
  • /[\w]/->Word字符
  • {3,40}->介于3到40个字符之间

此正则表达式应适用于所有条件:

^(?!.{1,2}?*)(?!(?:.*?*){2})[w .?*,]{3,40}$

在线演示:http://regex101.com/r/eJ3aF7

/^(?=.{,40}$)[A-Za-z0-9s]{3,}*?[A-Za-z0-9s]*$/

最新更新