我希望创建一个带条件的正则表达式:
我能够实现的目标
/^(?!.*([A-Za-z0-9!@#$&()\\-`.+,/?"])\1{2})(?=.*[a-z])(?=.*\d)[A-Za-z0-9!@#$&()\\-`.+,/?"]+$/
这验证字符串至少有一个数字和一个字母。 它不是连续的数字123,而是检查111.我无法在此添加第四个条件。
任何进一步的帮助将不胜感激。 提前谢谢。
答案 0 :(得分:2)
试试这个正则表达式:
[action.meta._id]:action.payload
<强>解释强>
^(?=[\D]*\d)(?=[^a-zA-Z]*[a-zA-Z])(?=.{6,})(?!.*(\d)\1{2})(?!.*([a-zA-Z])(?:.*?\2){2,}).*$
- 字符串的开头^
- 积极前瞻 - 检查是否存在数字(?=[\D]*\d)
- 积极前瞻 - 检查是否存在信件(?=[^a-zA-Z]*[a-zA-Z])
- 积极前瞻 - 检查是否存在至少6个文字(?=.{6,})
- 否定前瞻 - 检查3个连续数字的无效。它将允许2个连续数字。如果您不想连续2位数字,则从此部分删除{2} (?!.*(\d)\1{2})
- 否定前瞻 - 验证字符串中不应出现超过2次的字母(?!.*([a-zA-Z])(?:.*?\2){2,})
- 捕获字符串.*
- 字符串<强>输出:强>
$