Advertisement
Guest User

icaroerasmo

a guest
May 23rd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. var replaceUnit = function(str, index, replacement) {
  2. return str.substr(0, index) + replacement+ str.substr(index + replacement.length);
  3. }
  4.  
  5. var replaceDateUnit = function(txtDate, unit, dateFormatReturn, pattern){
  6. var index = pattern.indexOf(unit);
  7. var replacementIndex = dateFormatReturn.indexOf(unit);
  8. var strResult = "";
  9.  
  10. if(index > -1 && txtDate.length > index){
  11. strResult = replaceUnit(dateFormatReturn,
  12. replacementIndex, txtDate.substr(index, unit.length));
  13. }
  14. return strResult;
  15. };
  16.  
  17. var parseDate = function(dataText, dateFormatReturn, pattern){
  18. var newDataText = replaceDateUnit(dataText, "dd", dateFormatReturn, pattern);
  19. newDataText = replaceDateUnit(dataText, "MM", newDataText, pattern);
  20. newDataText = replaceDateUnit(dataText, "yyyy", newDataText, pattern);
  21. return newDataText;
  22. };
  23.  
  24. var getAge = function(parsedDate){
  25. var millis = new Date() - parsedDate;
  26. return millis / 31536000000;
  27. }
  28.  
  29. var testData = function(birthDate, _minorDate, _majorDate,
  30. _successCode, _errorCodeGeneric, _errorCodeNotAllowed){
  31.  
  32. if(isNaN(birthDate)){
  33. return _errorCodeGeneric;
  34. }
  35.  
  36. var age = getAge(birthDate);
  37.  
  38. if(age < _minorDate || age > _majorDate){
  39. return _errorCodeNotAllowed;
  40. }
  41.  
  42. return _successCode;
  43. };
  44.  
  45. var transformDate = function(_textBirthDate, _dateFormatReturn){
  46. var iYear = _dateFormatReturn.indexOf("yyyy");
  47. var iMonth = _dateFormatReturn.indexOf("MM");
  48. var iDay = _dateFormatReturn.indexOf("dd");
  49.  
  50. var year = _textBirthDate.substring(iYear, iYear+4);
  51. var month = _textBirthDate.substring(iMonth, iMonth+2);
  52. var day = _textBirthDate.substring(iDay, iDay+2);
  53.  
  54. return new Date(year+"-"+month+"-"+day);
  55. };
  56.  
  57. var validaData = function(data, dateFormatReturn, dateTextFormat, minorDate, majorDate,
  58. successCode, errorCodeGeneric, errorCodeNotAllowed){
  59.  
  60. var textBirthDate = parseDate(data, dateFormatReturn, dateTextFormat);
  61.  
  62. var birthDate = transformDate(textBirthDate, dateFormatReturn);
  63.  
  64. var status = testData(birthDate, minorDate, majorDate,
  65. successCode, errorCodeGeneric, errorCodeNotAllowed);
  66.  
  67. var response = '<root>'+
  68. ' <body>'+
  69. ' <status>'+status+'</status>';
  70. if(status != errorCodeGeneric){
  71. response += ' <formattedDate>'+textBirthDate+'</formattedDate>';
  72. }
  73.  
  74. response += ' </body>'+
  75. '</root>';
  76.  
  77.  
  78. return response;
  79. };
  80. validaData(data, dateFormatReturn, dateTextFormat, minorDate, majorDate, successCode, errorCodeGeneric, errorCodeNotAllowed);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement