Advertisement
Guest User

Untitled

a guest
Oct 29th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.76 KB | None | 0 0
  1. package quiztmleornando.quiztm;
  2.  
  3. import android.content.Intent;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11.  
  12. import quiztmleornando.quiztm.model.User;
  13.  
  14. public class RegisterActivity extends AppCompatActivity {
  15.  
  16. Button btnLogin;
  17. Button btnSubmit;
  18. EditText txtName, txtEmail, txtPassword, txtPhoneNumber;
  19.  
  20. @Override
  21. protected void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.activity_register);
  24. btnLogin = findViewById(R.id.btnLogin);
  25. btnSubmit = findViewById(R.id.btnSubmit);
  26. txtName = findViewById(R.id.editName);
  27. txtEmail = findViewById(R.id.editEmail);
  28. txtPassword = findViewById(R.id.editPassword);
  29. txtPhoneNumber = findViewById(R.id.editPhoneNumber);
  30.  
  31. database.getInstance().userList.add(new User("test", "test", "test", "test", "test"));
  32.  
  33. btnLogin.setOnClickListener(new View.OnClickListener() {
  34. @Override
  35. public void onClick(View v) {
  36. Intent intent = new Intent(RegisterActivity. this,LoginActivity.class);
  37. startActivity(intent);
  38. }
  39. });
  40.  
  41. btnSubmit.setOnClickListener(new View.OnClickListener() {
  42. @Override
  43. public void onClick(View v) {
  44.  
  45. String name = txtName.getText().toString();
  46. String email = txtEmail.getText().toString();
  47. String password = txtPassword.getText().toString();
  48. String phoneNumber = txtPhoneNumber.getText().toString();
  49.  
  50. String id = String.format("US%03d", database.getInstance().userList.size()+1);
  51.  
  52. User newUser = new User(id, name, email, password, phoneNumber);
  53.  
  54. database.getInstance().userList.add(newUser);
  55.  
  56. if(name.indexOf(" ") == -1){
  57. Toast.makeText(RegisterActivity.this,"Name must be 2 words", Toast.LENGTH_SHORT).show();
  58. }
  59. else if(email.indexOf("@") == -1 || email.indexOf(".") == -1 || email.indexOf("@") != email.lastIndexOf("@")){
  60. Toast.makeText(RegisterActivity.this, "Email must have one ‘@’ & at least one ‘.’", Toast.LENGTH_SHORT).show();
  61. }
  62. else if(!isAlphaNumeric(email) || email.indexOf("_") == -1){
  63. Toast.makeText(RegisterActivity.this, "Email must be in alphanumeric format and contain ‘.’, ‘@’ & ‘_’ symbol", Toast.LENGTH_SHORT).show();
  64. }
  65. else if(!validateSymbol(email)){
  66. Toast.makeText(RegisterActivity.this, "Every symbol cannot be placed beside each other", Toast.LENGTH_SHORT).show();
  67. }
  68. else if(!valiPassword(password)){
  69. Toast.makeText(RegisterActivity.this, "Password must contain 1 uppercase letter, 1 lowercase letter, & 1 symbol", Toast.LENGTH_SHORT).show();
  70. }
  71. else if(phoneNumber.length() < 10 || phoneNumber.length() > 14){
  72. Toast.makeText(RegisterActivity.this, "Phone number length must be between 10 & 14 digits", Toast.LENGTH_SHORT).show();
  73. }
  74. else if(!phoneNumber.startsWith("0") && !phoneNumber.startsWith("+62")){
  75. Toast.makeText(RegisterActivity.this, "Phone number starts with ‘0’ or ‘+62’", Toast.LENGTH_SHORT).show();
  76. }
  77. else if(!validPhoneNumber(phoneNumber)){
  78. 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();
  79. }
  80. else{
  81. Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
  82. startActivity(intent);
  83. Toast.makeText(RegisterActivity.this, "Submit success", Toast.LENGTH_SHORT).show(); }
  84. }
  85. }
  86. );
  87. }
  88.  
  89. private boolean valiPassword(String text){
  90. boolean isSymbol = false;
  91. boolean isUpper = false;
  92. boolean isLower = false;
  93. for(int i=0 ; i<text.length() ; i++){
  94. char c = text.charAt(i);
  95. if(!Character.isDigit(c) && !Character.isAlphabetic(c))
  96. isSymbol = true;
  97. if(Character.isUpperCase(c))
  98. isUpper = true;
  99. if(Character.isLowerCase(c))
  100. isLower = true;
  101. }
  102. return isSymbol && isUpper && isLower; }
  103.  
  104. private boolean isAlphaNumeric(String text){
  105. boolean isAlpha = false;
  106. boolean isNum = false;
  107. for(int i=0 ; i<text.length() ; i++){
  108. if(Character.isDigit(text.charAt(i))) isNum = true;
  109. else if(Character.isAlphabetic(text.charAt(i))) isAlpha = true;
  110. }
  111. return isAlpha && isNum; }
  112.  
  113. private boolean validateSymbol(String text){
  114. for(int i=0 ; i<text.length()-1 ; i++){
  115. char c = text.charAt(i);
  116. char cc = text.charAt(i+1);
  117. if(isSymbol(c) && isSymbol(cc))
  118. return false;
  119. }
  120. return true;
  121. }
  122.  
  123. private boolean isSymbol(char c){
  124. return c == '@' || c == '.' || c == '_';
  125. }
  126.  
  127. private boolean validPhoneNumber(String text){
  128. for(int i=0 ; i<text.length() ; i++){
  129. char c = text.charAt(i);
  130. if(!Character.isDigit(c) && ((i != 0) || (i == 0 && !text.startsWith("+62"))))
  131. return false;
  132. }
  133. return true; }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement