Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var replaceUnit = function(str, index, replacement) {
- return str.substr(0, index) + replacement+ str.substr(index + replacement.length);
- }
- var replaceDateUnit = function(txtDate, unit, dateFormatReturn, pattern){
- var index = pattern.indexOf(unit);
- var replacementIndex = dateFormatReturn.indexOf(unit);
- var strResult = "";
- if(index > -1 && txtDate.length > index){
- strResult = replaceUnit(dateFormatReturn,
- replacementIndex, txtDate.substr(index, unit.length));
- }
- return strResult;
- };
- var parseDate = function(dataText, dateFormatReturn, pattern){
- var newDataText = replaceDateUnit(dataText, "dd", dateFormatReturn, pattern);
- newDataText = replaceDateUnit(dataText, "MM", newDataText, pattern);
- newDataText = replaceDateUnit(dataText, "yyyy", newDataText, pattern);
- return newDataText;
- };
- var getAge = function(parsedDate){
- var millis = new Date() - parsedDate;
- return millis / 31536000000;
- }
- var testData = function(birthDate, _minorDate, _majorDate,
- _successCode, _errorCodeGeneric, _errorCodeNotAllowed){
- if(isNaN(birthDate)){
- return _errorCodeGeneric;
- }
- var age = getAge(birthDate);
- if(age < _minorDate || age > _majorDate){
- return _errorCodeNotAllowed;
- }
- return _successCode;
- };
- var transformDate = function(_textBirthDate, _dateFormatReturn){
- var iYear = _dateFormatReturn.indexOf("yyyy");
- var iMonth = _dateFormatReturn.indexOf("MM");
- var iDay = _dateFormatReturn.indexOf("dd");
- var year = _textBirthDate.substring(iYear, iYear+4);
- var month = _textBirthDate.substring(iMonth, iMonth+2);
- var day = _textBirthDate.substring(iDay, iDay+2);
- return new Date(year+"-"+month+"-"+day);
- };
- var validaData = function(data, dateFormatReturn, dateTextFormat, minorDate, majorDate,
- successCode, errorCodeGeneric, errorCodeNotAllowed){
- var textBirthDate = parseDate(data, dateFormatReturn, dateTextFormat);
- var birthDate = transformDate(textBirthDate, dateFormatReturn);
- var status = testData(birthDate, minorDate, majorDate,
- successCode, errorCodeGeneric, errorCodeNotAllowed);
- var response = '<root>'+
- ' <body>'+
- ' <status>'+status+'</status>';
- if(status != errorCodeGeneric){
- response += ' <formattedDate>'+textBirthDate+'</formattedDate>';
- }
- response += ' </body>'+
- '</root>';
- return response;
- };
- validaData(data, dateFormatReturn, dateTextFormat, minorDate, majorDate, successCode, errorCodeGeneric, errorCodeNotAllowed);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement