-
Notifications
You must be signed in to change notification settings - Fork 68
Expand file tree
/
Copy pathPasswordValidation.java
More file actions
44 lines (38 loc) · 986 Bytes
/
PasswordValidation.java
File metadata and controls
44 lines (38 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package String;
import java.util.Scanner;
public class PasswordValidation {
static final String SPECIAL_CHARACTERS = "!,#,$,%,^,&,*,|";
static String password;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter the Password: ");
password = sc.nextLine();
sc.close();
if (isValidPassword(password)) {
System.out.println("Password is in correct format!");
} else {
System.out.println("Not a valid password!");
}
}
public static boolean isValidPassword(String pass) {
boolean loCase = false;
int isDigit = 0;
boolean spChar= false;
if (pass.length() < 8) {
return false;
} else {
for (int i = 0; i < pass.length(); i++) {
if (pass.matches(".+[a-z].+")) {
loCase = true;
}
if (pass.matches(".+[1-9].+")) {
isDigit++;
}
if (SPECIAL_CHARACTERS.contains(pass.substring(i, i+1))) {
spChar=true;
}
}
}
return loCase && (isDigit >= 2) && !spChar;
}
}