Skip to content

Commit b87a8a3

Browse files
committed
Implemented email validator
1 parent 486db3e commit b87a8a3

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

src/main/java/org/spacehub/entities/User.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
package org.spacehub.entities;
32

43
import jakarta.persistence.Entity;
@@ -91,4 +90,4 @@ public boolean isCredentialsNonExpired() {
9190
public boolean isEnabled() {
9291
return enabled;
9392
}
94-
}
93+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.spacehub.security;
2+
3+
import org.springframework.stereotype.Service;
4+
import java.util.function.Predicate;
5+
import java.util.regex.Pattern;
6+
7+
@Service
8+
public class EmailValidator implements Predicate<String> {
9+
10+
private static final String emailRegex =
11+
"^(?=.{1,64}@)[A-Za-z0-9_-]+(\\.[A-Za-z0-9_-]+)*@" +
12+
"[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
13+
14+
private static final Pattern pattern = Pattern.compile(emailRegex);
15+
16+
public boolean test(String email) {
17+
if (email == null) {
18+
return false;
19+
}
20+
return pattern.matcher(email).matches();
21+
}
22+
}

0 commit comments

Comments
 (0)