# 如何通过正则表达式创建验证规则

# 问题描述

现场希望通过正则表达式实现密码校验,密码位数为8-20位,需要同时包含字母、数字和特殊字符。

# 解决方案

验证规则中使用正则表达式如下:

^(?![0-9]+$)(?![a-zA-Z]+$)(?![0-9a-zA-Z]+$)(?![0-9\W]+$)(?![a-zA-Z\W]+$)[0-9A-Za-z\W]{8,20}$
1

其中(?![0-9a-zA-Z]+$)表示排除只有字母和数字的组合,(?![0-9\\W]+$)表示排除只有数字和特殊字符的组合,(?![a-zA-Z\\W]+$)表示排除只有字母和特殊字符的组合。也就是说数字和字母和特殊字符必须同时包含有,才通过。

上次更新: 2023年06月14日