From 5d92bb09fbe4d2b9c06181a133c67f21e8c8e010 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Sat, 8 Apr 2023 17:32:40 +0200 Subject: [PATCH] added string extentions for email and passwords --- .../ugent/sel/studeez/common/ext/StringExt.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/common/ext/StringExt.kt diff --git a/app/src/main/java/be/ugent/sel/studeez/common/ext/StringExt.kt b/app/src/main/java/be/ugent/sel/studeez/common/ext/StringExt.kt new file mode 100644 index 0000000..02af993 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/common/ext/StringExt.kt @@ -0,0 +1,25 @@ +package be.ugent.sel.studeez.common.ext + +import android.util.Patterns +import java.util.regex.Pattern + +private const val MIN_PASS_LENGTH = 6 +private const val PASS_PATTERN = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=\\S+$).{4,}$" + +fun String.isValidEmail(): Boolean { + return this.isNotBlank() && Patterns.EMAIL_ADDRESS.matcher(this).matches() +} + +fun String.isValidPassword(): Boolean { + return this.isNotBlank() && + this.length >= MIN_PASS_LENGTH && + Pattern.compile(PASS_PATTERN).matcher(this).matches() +} + +fun String.passwordMatches(repeated: String): Boolean { + return this == repeated +} + +fun String.idFromParameter(): String { + return this.substring(1, this.length - 1) +} \ No newline at end of file