Advertisement
Guest User

:D

a guest
May 11th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.96 KB | None | 0 0
  1. var http = require('http');
  2. var fs = require('fs');
  3. var url = require('url');
  4. var express = require('express');
  5. var app = express();
  6.  
  7. var bodyParser = require('body-parser')
  8. app.use(bodyParser.json() ); // to support JSON-encoded bodies
  9. app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
  10. extended: true
  11. }));
  12.  
  13.  
  14. function validateEmail(email) {
  15. var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  16. return re.test(email);
  17. };
  18.  
  19. function validatePass(pass){
  20. if(pass.length < 5)
  21. return false;
  22. for(counter = 0; counter < pass.length; counter++){
  23. if(pass[counter] == ' ')
  24. return false;
  25. }
  26. return true;
  27. };
  28.  
  29. function validateName(name){
  30. if(name.length == 0)
  31. return false;
  32. for(counter = 0; counter < name.length; counter++){
  33. if((name[counter] == ' ' && counter == 0) || (name[counter] >= '0' && name[counter] <= '9'))
  34. return false;
  35. }
  36. return true;
  37. };
  38.  
  39. function validatePassword(mail , password){
  40. for (var i = 0; i < users.length; i++) {
  41. if (users[i].email == mail) {
  42. if (users[i].password == password){
  43. return true;
  44. }
  45. }
  46. }
  47. return false;
  48. };
  49. function validateLogin(mail){
  50. for (var i = 0; i < users.length; i++) {
  51. if (users[i].email == mail) {
  52. return true ;
  53. }
  54. }
  55. return false;
  56. };
  57.  
  58. function nadaAyman(temp){
  59. temp = "<p style = \"color:red; font-size: 25px\">" + temp + "</p>";
  60. var x = "<!DOCTYPE html>"+"<html>"+"<head>"+"<link rel=\"stylesheet\" href=\"css/bootstrap.min.css\">"+"<link rel=\"stylesheet\" type=\"text/css\" href=\"theme.css\">"+"</head>"+"<body>"+"<form action=\"login\" method = \"POST\" style = \"margin-left:35%; margin-top:15%\">"+"Mail:<br>"+"<input type=\"text\" name=\"mailLog\" ><br>"+"Password:<br>"+"<input type=\"password\" name=\"passwordLog\" ><br><br>"+"<input type=\"submit\" value=\"Log In\" />"+"</form>"+ temp +"</body>" +"</html>";
  61. return x;
  62.  
  63. };
  64.  
  65. function make(temp){
  66. temp = "<p style = \"color:red; font-size: 25px\">" + temp + "</p>";
  67. var x = "<!DOCTYPE html>"+"<html>"+"<head>"+"<link rel=\"stylesheet\" href=\"css/bootstrap.min.css\">"+"<link rel=\"stylesheet\" type=\"text/css\" href=\"theme.css\">"+"</head>"+"<body>"+"<form action=\"register\" method = \"POST\" style = \"margin-left:35%; margin-top:15%\">"+"Name:<br>"+"<input type=\"text\" name=\"nameReg\"><br>"+"Mail:<br>"+"<input type=\"text\" name=\"mailReg\" ><br>"+"Password:<br>"+"<input type=\"password\" name=\"passwordReg\" ><br><br>"+"<input type=\"submit\" value=\"Sign Up\" />"+"</form>"+ temp +"</body>" +"</html>";
  68. return x;
  69. };
  70.  
  71. var file_content = fs.readFileSync(__dirname +'/userDB.json');
  72. var users = JSON.parse(file_content);
  73.  
  74. app.get('/login', function(req,res){
  75. res.sendFile(__dirname + "/" + "log.html");
  76. });
  77.  
  78. app.post('/login', function(req,res){
  79. var getmail = req.body.mailLog;
  80. var getpass = req.body.passwordLog;
  81. res.writeHead(200, {"Content-Type": "text/html"});
  82. if(!validateLogin(getmail)){
  83. res.write(nadaAyman("Wrong email, Please recheck."));
  84. }else if(!validatePassword(getmail , getpass)){
  85. res.write(nadaAyman("Wronge password , please recheck."));
  86. }
  87. res.end();
  88. });
  89.  
  90. app.get('/register', function(req,res){
  91. res.sendFile( __dirname + "/" + "Reg.html" );
  92. });
  93.  
  94. app.post('/register', function (req, res) {
  95. var sentEmail = req.body.mailReg;
  96. var sentName = req.body.nameReg;
  97. var sentPassword = req.body.passwordReg;
  98. found = false;
  99. console.log(sentEmail + " " + sentName + " " + sentPassword);
  100. if(validateEmail(sentEmail) && validateName(sentName) && validatePass(sentPassword)){
  101. var newuser = {
  102. "email" : sentEmail ,
  103. "name" : sentName ,
  104. "password" : sentPassword
  105. }
  106. console.log(users.length + "ERERE");
  107. for(var counter = 0; counter < users.length; counter++){
  108. console.log(counter + " " + users[counter].email + " " + sentEmail);
  109. if(users[counter] != null && sentEmail == users[counter].email)
  110. {
  111. found = true;
  112. }
  113. }
  114. if(!found){
  115. users.push(newuser);
  116. fs.writeFileSync(__dirname +'/userDB.json', JSON.stringify(users, null, 3));
  117. res.redirect('/login');
  118. }else{
  119. res.writeHead(200, {"Content-Type": "text/html"});
  120. res.write(make("Your email is already taken."));
  121. res.end();
  122. }
  123. }
  124. else{
  125. res.writeHead(200, {"Content-Type": "text/html"});
  126. if(!validateEmail(sentEmail)){
  127. res.write(make("Wrong email format, Please recheck."));
  128. }else if(!validatePass(sentPassword)){
  129. res.write(make("Wronge password format, please recheck."));
  130. }else if(!validateName(sentName)){
  131. res.write(make("Wrong name format, please recheck."));
  132. }res.end();
  133. }
  134. });
  135.  
  136. var server = app.listen(8081, function () {
  137. var host = server.address().address;
  138. var port = server.address().port
  139. console.log("Example app listening at http://%s:%s", host, port)
  140. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement