正则表达式匹配:密码特征必须包括:大写字母、小写字母、数字、特殊字符,长度大于6小于12


 1 #!/usr/bin/perl -w
 2 ##输入一个字符串,字符串长度大于6小于12,必须包括大写字母,小写字母,数字和特殊字符
 3 use strict;
 4 
 5 print "Enter a string:\n";
 6 while(<>)
 7 {
 8 chomp;
 9 my $len=length($_);
10 if($len>=6 && $len<=12 && $_=~/[A-Z]+/ && $_=~/[a-z]+/ && $_=~/[0-9]+/&& $_=~/\W+/){
11 print "Match\n";}
12 else{
13 print "unmatch\n";}
14 }

 

如果想一次输入多个数,用逗号分开的形式

则代码如下:

 1 #!/usr/bin/perl -w
 2 print "Enter a string:\n";
 3 $string=<STDIN>;
 4 @string=split(/,/,$string);
 5 foreach (@string)
 6 {
 7 chomp;
 8 my $len=length($_);
 9 if($len>=6 && $len<=12 && $_=~/[A-Z]+/ && $_=~/[a-z]+/ && $_=~/[0-9]+/&& $_=~/\W+/){
10 print "Matched: |$_|\n";}
11 else{
12 print "No match:|$_|\n";}
13 }

示例:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM