Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package quiztmleornando.quiztm;
- import android.content.Intent;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import quiztmleornando.quiztm.model.User;
- public class RegisterActivity extends AppCompatActivity {
- Button btnLogin;
- Button btnSubmit;
- EditText txtName, txtEmail, txtPassword, txtPhoneNumber;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_register);
- btnLogin = findViewById(R.id.btnLogin);
- btnSubmit = findViewById(R.id.btnSubmit);
- txtName = findViewById(R.id.editName);
- txtEmail = findViewById(R.id.editEmail);
- txtPassword = findViewById(R.id.editPassword);
- txtPhoneNumber = findViewById(R.id.editPhoneNumber);
- database.getInstance().userList.add(new User("test", "test", "test", "test", "test"));
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(RegisterActivity. this,LoginActivity.class);
- startActivity(intent);
- }
- });
- btnSubmit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String name = txtName.getText().toString();
- String email = txtEmail.getText().toString();
- String password = txtPassword.getText().toString();
- String phoneNumber = txtPhoneNumber.getText().toString();
- String id = String.format("US%03d", database.getInstance().userList.size()+1);
- User newUser = new User(id, name, email, password, phoneNumber);
- database.getInstance().userList.add(newUser);
- if(name.indexOf(" ") == -1){
- Toast.makeText(RegisterActivity.this,"Name must be 2 words", Toast.LENGTH_SHORT).show();
- }
- else if(email.indexOf("@") == -1 || email.indexOf(".") == -1 || email.indexOf("@") != email.lastIndexOf("@")){
- Toast.makeText(RegisterActivity.this, "Email must have one ‘@’ & at least one ‘.’", Toast.LENGTH_SHORT).show();
- }
- else if(!isAlphaNumeric(email) || email.indexOf("_") == -1){
- Toast.makeText(RegisterActivity.this, "Email must be in alphanumeric format and contain ‘.’, ‘@’ & ‘_’ symbol", Toast.LENGTH_SHORT).show();
- }
- else if(!validateSymbol(email)){
- Toast.makeText(RegisterActivity.this, "Every symbol cannot be placed beside each other", Toast.LENGTH_SHORT).show();
- }
- else if(!valiPassword(password)){
- Toast.makeText(RegisterActivity.this, "Password must contain 1 uppercase letter, 1 lowercase letter, & 1 symbol", Toast.LENGTH_SHORT).show();
- }
- else if(phoneNumber.length() < 10 || phoneNumber.length() > 14){
- Toast.makeText(RegisterActivity.this, "Phone number length must be between 10 & 14 digits", Toast.LENGTH_SHORT).show();
- }
- else if(!phoneNumber.startsWith("0") && !phoneNumber.startsWith("+62")){
- Toast.makeText(RegisterActivity.this, "Phone number starts with ‘0’ or ‘+62’", Toast.LENGTH_SHORT).show();
- }
- else if(!validPhoneNumber(phoneNumber)){
- Toast.makeText(RegisterActivity.this, "Phone number contains only digits, except ‘+’ for phone number that is written in country code format (‘+62’)", Toast.LENGTH_SHORT).show();
- }
- else{
- Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
- startActivity(intent);
- Toast.makeText(RegisterActivity.this, "Submit success", Toast.LENGTH_SHORT).show(); }
- }
- }
- );
- }
- private boolean valiPassword(String text){
- boolean isSymbol = false;
- boolean isUpper = false;
- boolean isLower = false;
- for(int i=0 ; i<text.length() ; i++){
- char c = text.charAt(i);
- if(!Character.isDigit(c) && !Character.isAlphabetic(c))
- isSymbol = true;
- if(Character.isUpperCase(c))
- isUpper = true;
- if(Character.isLowerCase(c))
- isLower = true;
- }
- return isSymbol && isUpper && isLower; }
- private boolean isAlphaNumeric(String text){
- boolean isAlpha = false;
- boolean isNum = false;
- for(int i=0 ; i<text.length() ; i++){
- if(Character.isDigit(text.charAt(i))) isNum = true;
- else if(Character.isAlphabetic(text.charAt(i))) isAlpha = true;
- }
- return isAlpha && isNum; }
- private boolean validateSymbol(String text){
- for(int i=0 ; i<text.length()-1 ; i++){
- char c = text.charAt(i);
- char cc = text.charAt(i+1);
- if(isSymbol(c) && isSymbol(cc))
- return false;
- }
- return true;
- }
- private boolean isSymbol(char c){
- return c == '@' || c == '.' || c == '_';
- }
- private boolean validPhoneNumber(String text){
- for(int i=0 ; i<text.length() ; i++){
- char c = text.charAt(i);
- if(!Character.isDigit(c) && ((i != 0) || (i == 0 && !text.startsWith("+62"))))
- return false;
- }
- return true; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement