diff --git a/js/generalFunction.js b/js/generalFunction.js
new file mode 100644
index 0000000000000000000000000000000000000000..5aeafdcc39c439733b511c73af61cef5eeffe87b
--- /dev/null
+++ b/js/generalFunction.js
@@ -0,0 +1,9 @@
+// password requirement
+function checkPasswordReq(pwd) {
+    if (pwd.length < 8) {
+        isBest = false;
+    } else {
+        isBest = true;
+    }
+    return isBest
+}
\ No newline at end of file
diff --git a/js/registration.js b/js/registration.js
new file mode 100644
index 0000000000000000000000000000000000000000..8f2c1b545b0233b55082491a416359b98920c2ef
--- /dev/null
+++ b/js/registration.js
@@ -0,0 +1,38 @@
+var isEmailValid = false
+var isPasswordValid = false
+
+// check if email already exist
+$('#inputEmail').change(function(){
+    var email = $('#inputEmail').val()
+    $.get("email/"+email, function(data) {
+        $('#emailWarning').empty()
+        isEmailValid = data
+        if(!isEmailValid) {
+            $('#emailWarning').html('Mit dieser E-Mail-Adresse existiert bereits ein Benutzerkonto in unserem Transferportal.')
+        }
+        switchSubmitButton()
+    })
+    .fail(function() {
+        console.log("cannot check email")
+    })
+});
+
+// check password
+$('#inputPassword').on('keyup', function () {
+    isPasswordValid = checkPasswordReq($('#inputPassword').val())
+    $('#passwordWarning').empty();
+    if (!isPasswordValid) {
+        //$('#passwordWarning').html('Must be at least 8 characters')
+        $('#passwordWarning').html('Das Passwort muss mindestens 8 Zeichen haben')
+    }
+    switchSubmitButton()
+});
+
+function switchSubmitButton() {
+    if (isEmailValid && isPasswordValid) {
+        $('#submitBtn').prop('disabled', false)
+    }
+    else {
+        $('#submitBtn').prop('disabled', true)
+    }
+}
\ No newline at end of file
diff --git a/js/security.js b/js/security.js
new file mode 100644
index 0000000000000000000000000000000000000000..535a95a208292eda555273f548af3e71012bd107
--- /dev/null
+++ b/js/security.js
@@ -0,0 +1,30 @@
+// check password and password confirmation input fields
+// used in Security and Reset Password
+$('#inputNewPwd, #inputConfirm').on('keyup', function () {
+    var isBest, isMatch;
+
+    isBest = checkPasswordReq($('#inputNewPwd').val())
+    $('#recommendation').empty();
+    if (!isBest) {
+        //$('#recommendation').html('Must be at least 8 characters').css('color', 'red');
+        $('#recommendation').html('Das Passwort muss mindestens 8 Zeichen haben').css('color', 'red');
+    }
+
+    // match or not?
+    if ($('#inputNewPwd').val() == $('#inputConfirm').val()) {
+        //$('#message').html('Matching').css('color', 'green');
+        $('#message').html('Ãœbereinstimmend').css('color', 'green');
+        isMatch = true;
+    } else {
+        //$('#message').html('Not Matching').css('color', 'red');
+        $('#message').html('Nicht übereinstimmend').css('color', 'red');
+        isMatch = false;
+    }
+    
+    // enable/disable update button
+    if (isBest && isMatch) {
+        $('#updateBtn').prop('disabled', false);
+    } else {
+        $('#updateBtn').prop('disabled', true);
+    }
+});
\ No newline at end of file