正则表达式常见密码验证方式总结大全
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、基础正则表达式</a></li><ul class="second_class_ul"><li><a href="#_lab2_0_0">1.1 至少1个大写字母</a></li><li><a href="#_lab2_0_1">1.2 至少1个小写英文字母</a></li><li><a href="#_lab2_0_2">1.2 至少1位数字</a></li><li><a href="#_lab2_0_3">1.2 至少有1个特殊字符</a></li><li><a href="#_lab2_0_4">1.3 最小8个长度</a></li></ul><li><a href="#_label1">二、常见密码正则表达式</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_5">2.1 至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符</a></li><li><a href="#_lab2_1_6">2.2 至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母)</a></li><li><a href="#_lab2_1_7">2.3 至少8个字符,至少1个字母,1个数字和1个特殊字符</a></li><li><a href="#_lab2_1_8">2.4 至少8个字符,至少1个大写字母,1个小写字母和1个数字</a></li><li><a href="#_lab2_1_9">2.5 至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符</a></li><li><a href="#_lab2_1_10">2.6 最少8个最多十个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符</a></li></ul><li><a href="#_label2">三、组合正则表达式</a></li><ul class="second_class_ul"></ul><li><a href="#_label3">四、c#中使用正则表达式</a></li><ul class="second_class_ul"></ul><li><a href="#_label4">总结 </a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>一、基础正则表达式</h2><p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202405/2024513104258384.png" /></p>
<p class="maodian"><a name="_lab2_0_0"></a></p><h3>1.1 至少1个大写字母</h3>
<blockquote><p>(?=.*?)</p></blockquote>
<p class="maodian"><a name="_lab2_0_1"></a></p><h3>1.2 至少1个小写英文字母</h3>
<blockquote><p>(?=.*?)</p></blockquote>
<p class="maodian"><a name="_lab2_0_2"></a></p><h3>1.2 至少1位数字</h3>
<blockquote><p>(?=.*?)</p></blockquote>
<p class="maodian"><a name="_lab2_0_3"></a></p><h3>1.2 至少有1个特殊字符</h3>
<blockquote><p>(?=.?[#?!@$%^&-])</p></blockquote>
<p class="maodian"><a name="_lab2_0_4"></a></p><h3>1.3 最小8个长度</h3>
<blockquote><p>{8,}</p></blockquote>
<p class="maodian"><a name="_label1"></a></p><h2>二、常见密码正则表达式</h2>
<p class="maodian"><a name="_lab2_1_5"></a></p><h3>2.1 至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符</h3>
<blockquote><p>/(?=.*)(?=.*)(?=.*\d)[]{8,16}$/</p>
<p>/^(?=.)(?=.)(?=.*\d)[\s\S]{8,16}$/</p></blockquote>
<p class="maodian"><a name="_lab2_1_6"></a></p><h3>2.2 至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母)</h3>
<blockquote><p>^(?=.)(?=.\d){8,}$</p></blockquote>
<p class="maodian"><a name="_lab2_1_7"></a></p><h3>2.3 至少8个字符,至少1个字母,1个数字和1个特殊字符</h3>
<blockquote><p>^(?=.)(?=.\d)(?=.[ @ @ @!%#?&]){8,}$</p></blockquote>
<p class="maodian"><a name="_lab2_1_8"></a></p><h3>2.4 至少8个字符,至少1个大写字母,1个小写字母和1个数字</h3>
<blockquote><p>^(?=.)(?=.)(?=.*\d){8,}$</p></blockquote>
<p class="maodian"><a name="_lab2_1_9"></a></p><h3>2.5 至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符</h3>
<blockquote><p>^(?=.)(?=.)(?=.\d)(?=.[ @ @ @!%?&]){8,}</p></blockquote>
<p class="maodian"><a name="_lab2_1_10"></a></p><h3>2.6 最少8个最多十个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符</h3>
<blockquote><p>^(?=.)(?=.)(?=.\d)(?=.[ @ @ @!%?&]){8,10}</p></blockquote>
<p class="maodian"><a name="_label2"></a></p><h2>三、组合正则表达式</h2>
<blockquote><p>– 至少1个大写英文字母<br />– 至少1个小写英文字母<br />– 至少1位数字<br />– 至少1个特殊字符<br />– 最少8个长度</p>
<p>^(?=.?)(?=(.){1,})(?=(.[\d]){1,})(?=(.[\W]){1,})(?!.*\s).{8,}$</p></blockquote>
<p class="maodian"><a name="_label3"></a></p><h2>四、c#中使用正则表达式</h2>
<div class="jb51code"><pre class="brush:csharp;">// 密码复杂度应至少包含三种字符(大写、小写、数字、特殊符号任选三种)
private static bool IsWeakPasswordReg(string password)
{
var reg_val = 0;
var pw_txt = password;
var reg = @"[*0-9]";//数字
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"[*a-z]";//小写字母
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"";//大写字母
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"[\W_!@#$%^&`~()-+=]";//特殊字符
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
if (reg_val < 3)
{
return false;
}
return true;
}</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>总结 </h2>
頁:
[1]