• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 299
  • Last Modified:

Regular Expression Question

How to make this password reg,. ex. I have had enough problems with this.

*Must contain at least 8 characters.
*Must include a number and a letter.
*No more than two consecutive characters may be the same.


prain
0
prain
Asked:
prain
1 Solution
 
thehagmanCommented:
$x =~ /.{8}/ && $x =~ /[a-zA-Z]/ && $x =~ /[0-9]/ && !($x =~ /(.)\1\1/)

Open in new window

0
 
käµfm³d 👽Commented:
Try:

^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])(?!.*(.)\1).{8,}$

Open in new window

0
 
käµfm³d 👽Commented:
P.S.

I urge you to define your password requirement a bit further. I fashioned the above strictly by the rules you posted. However, the use of the dot allows for even non-printable characters to be used as a part of the password. This means null characters, spaces, newlines, percent signs...  pretty much any character can be used as a part of the password--so long as there are 8 of them. It should be as simple as changing the ".{8,}" part of the pattern to provide further restrictions. For example:

Restrict to Letters and Numbers
^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])(?!.*(.)\1)[a-zA-Z0-9]{8,}$

Open in new window


Restrict to Letters and Numbers and a Few Special Characters
^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])(?!.*(.)\1)[a-zA-Z0-9$#@!]{8,}$

Open in new window

0
 
CodecaesarCommented:
0
 
prainAuthor Commented:
Thanks
0

Featured Post

Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now