Java introduced Pattern matching API from JDK 1.4 onwards. Its definitely a wonderful API for validating passwords, userId, etc in an application. There are some predefined regular expressions available. Here, Iam going to explain a regular expression for password validation.
You would have encountered password rules in several websites. Lets see how the regular expression is going to be for the following password rule:
It should contain at least one digit from 0-9
It should contain at least one letter from A-Z
It should not contain any lower case letter
The minimum length of the username must be 6 characters and the maximum may be 20.
It should contain at least one character from amongst @#*=
It should not contain any spaces
Regular Expression for the above conditions :
- (?=.*[@#*=]) # must contains one special character "@#$%"
- (?=.*[A-Z]) # must contains one UPPER Case Character
- (?!.*[a-z]) # must not contain lower case Character (See ! instead of =)
- (?=.*[0-9]) # must contains one number 0-9
- (?!.*\\s) # must not contain any spaces
- . # match anything with previous condition checking
- {6,20} # length at least 6 characters and maximum of 20
Java Pattern Matching Code:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class UserName
{
public static void main(String[] args)
{
String password="ABC3a#@@";
Pattern pattern = Pattern.compile("(?=.*[@#*=])(?=.*[A-Z])(?!.*[a-z])(?=.*[0-9])(?!.*\\s).{6,20}$");
Matcher m = pattern.matcher(userName);
boolean b = m.matches();
if (b==false)
System.out.println("FAIL");
else if(b==true)
System.out.println("PASS");
}
}
No comments:
Post a Comment