前端在注册、找回密码设置密码的时候经常会碰到这样的需求,验证用户输入的密码必须包含大小写字母及下划线且长度为6~16位
<script type="text/javascript"> console.log(/^(?=.*[a-zA-Z].*)(?=.*d.*)(?=.*_.*)w{6,16}$/.test('1dsf_fA')); </script>
该正则主要用到的是正向前瞻
(?=exp)就是零宽断言,前面满足exp,匹配位置不匹配实际内容
(?=exp)与(?:exp)的区别
(?:exp)为非捕获型分组,即他是要匹配内容的,只是不作为分组返回而已
相关文章推荐:
1.正则表达式 常用正则表达式
2.java正则表达式 Java 正则表达式详解
3.PHP正则表达式之捕获组与非捕获组