本文翻译自:Regex for password must contain at least eight characters, at least one number and both lower and uppercase letters and special characters
I want a regular expression to check that:我想要一个正则表达式来检查:
A password contains at least eight characters, including at least one number and includes both lower and uppercase letters and special characters, for example#
,?
密码至少包含八个字符,包括至少一个数字,并且同时包含大小写字母和特殊字符,例如#
?
,!
,!
.。
It cannot be your old password or contain your username,"password"
, or"websitename"
它不能是您的旧密码或包含用户名,"password"
或"websitename"
And here is my validation expression which is for eight characters including one uppercase letter, one lowercase letter, and one number or special character.这是我的验证表达式,它包含八个字符,包括一个大写字母,一个小写字母和一个数字或特殊字符。
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
How can I write it fora password must be eight characters including one uppercase letter, one special character and alphanumeric characters?如何编写密码,密码必须是八个字符,包括一个大写字母,一个特殊字符和字母数字字符?
#1楼
参考:/question/1KGC6/密码的正则表达式必须包含至少八个字符-至少一个数字以及大小写字母和特殊字符
#2楼
You may use this regex with multiple lookahead assertions (conditions) :您可以将此正则表达式与多个先行断言(条件)一起使用 :
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
This regex will enforce these rules:此正则表达式将执行以下规则:
At least one upper case English letter ,(?=.*?[AZ])
至少一个大写英文字母 ,(?=.*?[AZ])
At least one lower case English letter,(?=.*?[az])
至少一个小写英文字母(?=.*?[az])
At least one digit,(?=.*?[0-9])
至少一位数字(?=.*?[0-9])
At least one special character,(?=.*?[#?!@$%^&*-])
至少一个特殊字符(?=.*?[#?!@$%^&*-])
Minimum eight in length.{8,}
(with the anchors)长度最少为八位.{8,}
(带锚点)
#3楼
Just a small improvement for @anubhava's answer: Since special character are limited to the ones in the keyboard, use this for any special character:@anubhava的答案仅作一个小改进:由于特殊字符仅限于键盘上的字符,因此可将其用于任何特殊字符:
^(?=.*?[AZ])(?=(.*[az]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,}$
This regex will enforce these rules:此正则表达式将执行以下规则:
At least one upper case English letter至少一个大写英文字母At least one lower case English letter至少一个小写英文字母At least one digit至少一位数字At least one special character至少一个特殊字符Minimum eight in length长度最少八位
#4楼
Minimum eight characters, at least one letter and one number:至少八个字符,至少一个字母和一个数字:
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
Minimum eight characters, at least one letter, one number and one special character:至少八个字符,至少一个字母,一个数字和一个特殊字符:
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"
Minimum eight characters, at least one uppercase letter, one lowercase letter and one number:至少八个字符,至少一个大写字母,一个小写字母和一个数字:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
Minimum eight characters, at least one uppercase letter, one lowercase letter, one number and one special character:至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
Minimum eight and maximum 10 characters, at least one uppercase letter, one lowercase letter, one number and one special character:最少8个字符,最多10个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"
#5楼
Import the JavaScript filejquery.validate.min.js
.导入JavaScript文件jquery.validate.min.js
。
You can use this method:您可以使用以下方法:
$.validator.addMethod("pwcheck", function (value) {return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)});
At least one upper case English letter至少一个大写英文字母At least one lower case English letter至少一个小写英文字母At least one digit至少一位数字At least one special character至少一个特殊字符
#6楼
I had some difficulty following the most popular answer for my circumstances.对于我的情况,我在遵循最受欢迎的答案时遇到了一些困难。For example, my validation was failing with characters such as;
例如,我的验证失败,例如字符;
or[
.或[
。I was not interested in white-listing my special characters, so I instead leveraged[^\\w\\s]
as a test - simply put - match non word characters (including numeric) and non white space characters.我对将特殊字符列入白名单不感兴趣,因此我利用[^\\w\\s]
作为测试-简而言之-匹配非单词字符(包括数字)和非空格字符。To summarize, here is what worked for me...总而言之,这是对我有用的...
at least8
characters至少8
字符at least1
numeric character至少1
数字字符at least1
lowercase letter至少1
个小写字母at least1
uppercase letter至少1
大写字母at least1
special character至少1
特殊字符
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/
JSFiddle Link - simple demo covering various casesJSFiddle Link-涵盖各种情况的简单演示