diff --git a/org.envirocar.app/res/values/strings_activity_login.xml b/org.envirocar.app/res/values/strings_activity_login.xml
index 22d378391..9d64779f7 100644
--- a/org.envirocar.app/res/values/strings_activity_login.xml
+++ b/org.envirocar.app/res/values/strings_activity_login.xml
@@ -30,8 +30,8 @@
Registering…
The passwords do not match.
This username is too short.
- Special symbol not allowed except underscore
- Password must contain at least one uppercase letter, one lowercase letter and one digit
+ Please enter a valid username of length greater than 6 and the special symbol is not allowed except underscore
+ The Password should be of length 8–20 characters, and it must contain at least one uppercase letter, one lowercase letter, one digit, and one special character.
This username is already in use.
This email is already in use.
diff --git a/org.envirocar.app/src/org/envirocar/app/views/login/SignupActivity.java b/org.envirocar.app/src/org/envirocar/app/views/login/SignupActivity.java
index 8c6afff00..00e7ed57c 100644
--- a/org.envirocar.app/src/org/envirocar/app/views/login/SignupActivity.java
+++ b/org.envirocar.app/src/org/envirocar/app/views/login/SignupActivity.java
@@ -81,7 +81,7 @@ public class SignupActivity extends BaseInjectorActivity {
private static final Logger LOG = Logger.getLogger(SignupActivity.class);
private static final String EMAIL_REGEX = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
- private static final String PASSWORD_REGEX = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{6,}$";
+ private static final String PASSWORD_REGEX= "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\\S+$).{8,20}$";
private static final String USERNAME_REGEX = "^[A-Za-z0-9_-]{6,}$";
private static final int CHECK_FORM_DELAY = 750;
private static Drawable errorPassword;
@@ -400,7 +400,7 @@ private boolean checkPasswordValidity(String password) {
if (password == null || password.isEmpty() || password.equals("")) {
password1EditText.setError(getString(R.string.error_field_required), errorPassword);
isValidPassword = false;
- } else if (password.length() < 6) {
+ } else if (password.length() < 8) {
password1EditText.setError(getString(R.string.error_invalid_password), errorPassword);
isValidPassword = false;
} else if (!Pattern.matches(PASSWORD_REGEX, password)) {