This PR is related to BAEL-7174 (#15712)
* Update pom.xml Add: <module>core-java-regex-3</module> * This commit is related to BAEL-7174 This commit aims to add a new module named "core-java-regex-3" and a new project named "passwordvalidation" to validate passwords using regex. * Update PasswordValidationUsingRegexUnitTest.java Change else-if to assertTrue(matcher.matches());
This commit is contained in:
parent
15de11de9a
commit
72cd365b26
|
@ -0,0 +1,3 @@
|
|||
### Relevant Articles:
|
||||
|
||||
- More articles: [[<-- prev]](/core-java-modules/core-java-regex-2)
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>core-java-regex-3</artifactId>
|
||||
<name>core-java-regex-3</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>5.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>com.baeldung.core-java-modules</groupId>
|
||||
<artifactId>core-java-modules</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,53 @@
|
|||
package com.baeldung.passwordvalidation;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class PasswordValidationUsingRegexUnitTest {
|
||||
String password = "Baeldung20@";
|
||||
|
||||
@Test
|
||||
public void givenStringPassword_whenUsingDynamicPasswordValidationRules_thenCheckIfPasswordValid() {
|
||||
boolean result = false;
|
||||
try {
|
||||
if (password != null) {
|
||||
String MIN_LENGHT = "8";
|
||||
String MAX_LENGHT = "20";
|
||||
boolean SPECIAL_CHAR_NEEDED = false;
|
||||
|
||||
String ONE_DIGIT = "(?=.*[0-9])";
|
||||
String LOWER_CASE = "(?=.*[a-z])";
|
||||
String UPPER_CASE = "(?=.*[A-Z])";
|
||||
String SPECIAL_CHAR = SPECIAL_CHAR_NEEDED ? "(?=.*[@#$%^&+=])" : "";
|
||||
String NO_SPACE = "(?=\\S+$)";
|
||||
|
||||
String MIN_MAX_CHAR = ".{" + MIN_LENGHT + "," + MAX_LENGHT + "}";
|
||||
String PATTERN = ONE_DIGIT + LOWER_CASE + UPPER_CASE + SPECIAL_CHAR + NO_SPACE + MIN_MAX_CHAR;
|
||||
|
||||
assertTrue(password.matches(PATTERN));
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
fail("Exception occurred: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenStringPassword_whenUsingRegulaExpressions_thenCheckIfPasswordValid() {
|
||||
|
||||
|
||||
String regExpn =
|
||||
"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\\S+$).{8,20}$";
|
||||
|
||||
Pattern pattern = Pattern.compile(regExpn, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(password);
|
||||
|
||||
assertTrue(matcher.matches());
|
||||
}
|
||||
|
||||
}
|
|
@ -200,6 +200,7 @@
|
|||
<module>core-java-string-operations-7</module>
|
||||
<module>core-java-regex</module>
|
||||
<module>core-java-regex-2</module>
|
||||
<module>core-java-regex-3</module>
|
||||
<module>core-java-uuid</module>
|
||||
<module>core-java-collections-maps-6</module>
|
||||
<module>core-java-records</module>
|
||||
|
|
Loading…
Reference in New Issue