# 如何通过正则表达式创建验证规则
# 问题描述
现场希望通过正则表达式实现密码校验,密码位数为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]+$)
表示排除只有字母和特殊字符的组合。也就是说数字和字母和特殊字符必须同时包含有,才通过。