$('#pwd, #pwd1').on('keydown keyup', function () { var password = $(this).val(); var regex = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[@#$%^&+=]).{9}$/; if (regex.test(password)) { $(this).removeClass('invalid'); $(this).addClass('valid'); } else { $(this).removeClass('valid'); $(this).addClass('invalid'); } }); 这个正则表达是能正确的限制这个规则吗:长度必须大于等于9,且至少有1位数字,至少有1个字母,至少有1个特殊字符
时间: 2024-04-01 18:36:35 浏览: 68
是的,上面的正则表达式能够正确地限制密码的规则,即长度必须大于等于 9,且至少有 1 位数字、至少有 1 个字母、至少有 1 个特殊字符。
这个正则表达式由以下几个部分组成:
- `^` 匹配字符串的开始位置
- `(?=.*\d)` 匹配任意位置的一个数字,这个部分使用了正则表达式的正向肯定预查(Positive Lookahead),表示必须包含至少一个数字
- `(?=.*[a-zA-Z])` 匹配任意位置的一个字母,这个部分也使用了正向肯定预查,表示必须包含至少一个字母
- `(?=.*[@#$%^&+=])` 匹配任意位置的一个特殊字符,这个部分也使用了正向肯定预查,表示必须包含至少一个特殊字符
- `.{9,}` 匹配任意 9 个或以上的字符,其中 `.` 表示匹配任意字符,而 `{9,}` 表示匹配 9 个或以上的字符
- `$` 匹配字符串的结束位置
因此,这个正则表达式能够正确地限制密码的规则。
相关问题
qt的pro的$$PWD/../../../output/apps/$$TARGET
在Qt的.pro文件中,$$PWD表示当前.pro文件所在的路径。$$TARGET表示当前项目的目标文件名(不含路径和后缀)。
因此,$$PWD/../../../output/apps/$$TARGET可以理解为:当前.pro文件所在目录的上上级目录的上上级目录的output/apps目录下的当前项目的目标文件名。
举个例子,假设当前的.pro文件路径为:/home/user/project/project.pro,其中project为项目名,则$$PWD为/home/user/project。如果当前项目的目标文件名为app,则$$TARGET为app。
那么$$PWD/../../../output/apps/$$TARGET就表示:/home/user/output/apps/app。
$$PWD/../../NT/shareMemery/share.pri
这是一个Qt项目的pro文件中的配置语句,表示引入了一个名为share.pri的Qt pro文件,该文件位于当前目录的上两级目录中的NT/shareMemery目录中。$$PWD表示当前工程目录的路径,"../../"表示上两级目录。通过引入这个pri文件,可以在当前工程中使用该pri文件中定义的变量和函数。
阅读全文