我需要一些javascript正则表达式的帮助,因为我搞不懂。正则表达式需要以下条件:
- 最少3个字符
- 最多40个字符
- 仅包含字母、数字和空白(没有换行符和其他字符,如?、_、…)
- 只能包含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]*$/