simple PAssword Policy
-
Hi All I am struggling to make a regular expresssion for the password policy. There are only two requiremnts for the password policy 1. Password should of length atleast 6 2. password must contain atleast two characters at any position. Match cases(for which regex should pass) are 1. rt5465465 2. 6556h76f 3. 76d12j 4. s45)$f Cases for which regex should fail are 1. w565765 2. 872310 3. 4r@%&9 4. gghj The regex whixh I have made so far are in the below code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Regex regex = new Regex("(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(?(.*[a-zA-Z].*[a-zA-Z]))(.{6,})"); Regex regex = new Regex("(^[.]*${6,})"); //Regex regex = new Regex("([a-zA-Z0-9]{6,})"); //Regex regex = new Regex("(?(?=[.]{6,})(.*[a-zA-Z].*[a-zA-Z])([Z][9][4][M][P]))"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])([6])([1]{5,5}))"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])()([1]{5,5}))"); //Regex regex = new Regex("(?(?=[a-zA-Z0-9]{6,})()(([1])([1])([p])))"); string s = textBox1.Text; if (regex.IsMatch(s)) { MessageBox.Show("pass"); } else { MessageBox.Show("fail"); } } } } Please help Thanks Regards Sandeep
-
Hi All I am struggling to make a regular expresssion for the password policy. There are only two requiremnts for the password policy 1. Password should of length atleast 6 2. password must contain atleast two characters at any position. Match cases(for which regex should pass) are 1. rt5465465 2. 6556h76f 3. 76d12j 4. s45)$f Cases for which regex should fail are 1. w565765 2. 872310 3. 4r@%&9 4. gghj The regex whixh I have made so far are in the below code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Regex regex = new Regex("(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(?(.*[a-zA-Z].*[a-zA-Z]))(.{6,})"); Regex regex = new Regex("(^[.]*${6,})"); //Regex regex = new Regex("([a-zA-Z0-9]{6,})"); //Regex regex = new Regex("(?(?=[.]{6,})(.*[a-zA-Z].*[a-zA-Z])([Z][9][4][M][P]))"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])([6])([1]{5,5}))"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])()([1]{5,5}))"); //Regex regex = new Regex("(?(?=[a-zA-Z0-9]{6,})()(([1])([1])([p])))"); string s = textBox1.Text; if (regex.IsMatch(s)) { MessageBox.Show("pass"); } else { MessageBox.Show("fail"); } } } } Please help Thanks Regards Sandeep
Hi, I wouldn't know with Regex; this is what I would do:
public bool IsValidPassword(string s) {
if (s==null || s.Length<6) return false;
int nLetters=0;
foreach(char c in s) if (Char.IsLetter(c)) nLetters++;
return nLetters>=2;
}And someone is bound to come up with some more modern approach, probably using LINQ. BTW: I don't think your criteria are alright; I would also require at least 2 non-letters. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
-
Hi, I wouldn't know with Regex; this is what I would do:
public bool IsValidPassword(string s) {
if (s==null || s.Length<6) return false;
int nLetters=0;
foreach(char c in s) if (Char.IsLetter(c)) nLetters++;
return nLetters>=2;
}And someone is bound to come up with some more modern approach, probably using LINQ. BTW: I don't think your criteria are alright; I would also require at least 2 non-letters. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
I need RegEx for this. Actually there is a web part (which is implemented using usercontrol) whose compiled dll is in GAC The designer code is in file. In web part username and paasword textbox is there There is also a login button on which the event which is in compiled assembliy in GAC get fired I cannot write code.I know its easy using code I am putting a regular expression validator in the designers code.So only through Regex things can be done Please help Thanks Regards THE SK
-
Hi All I am struggling to make a regular expresssion for the password policy. There are only two requiremnts for the password policy 1. Password should of length atleast 6 2. password must contain atleast two characters at any position. Match cases(for which regex should pass) are 1. rt5465465 2. 6556h76f 3. 76d12j 4. s45)$f Cases for which regex should fail are 1. w565765 2. 872310 3. 4r@%&9 4. gghj The regex whixh I have made so far are in the below code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Regex regex = new Regex("(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(?(.*[a-zA-Z].*[a-zA-Z]))(.{6,})"); Regex regex = new Regex("(^[.]*${6,})"); //Regex regex = new Regex("([a-zA-Z0-9]{6,})"); //Regex regex = new Regex("(?(?=[.]{6,})(.*[a-zA-Z].*[a-zA-Z])([Z][9][4][M][P]))"); // Regex regex = new Regex("(?(^(?=.+[a-zA-Z$#%^&*()!@~+]){6,}))(.*[a-zA-Z].*[a-zA-Z])"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])([6])([1]{5,5}))"); // Regex regex = new Regex("(?(?=[0-9]{5,5}[a-z])()([1]{5,5}))"); //Regex regex = new Regex("(?(?=[a-zA-Z0-9]{6,})()(([1])([1])([p])))"); string s = textBox1.Text; if (regex.IsMatch(s)) { MessageBox.Show("pass"); } else { MessageBox.Show("fail"); } } } } Please help Thanks Regards Sandeep
THE SK wrote:
2. password must contain at least two characters at any position.
Only Chuck Norris' passwords can do this.
.45 ACP - because shooting twice is just silly
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001 -
THE SK wrote:
2. password must contain at least two characters at any position.
Only Chuck Norris' passwords can do this.
.45 ACP - because shooting twice is just silly
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001