Advertisement
Serafim

Untitled

Jul 16th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   checkNumber: (newValue) =>
  2.     if @sex() is ''
  3.       @number('?')
  4.       return
  5.  
  6.     fullDate = newValue.toString()
  7.  
  8.     escaped  = fullDate.replace(/[^0-9]+/gi, '')
  9.  
  10.     fullYear = escaped.substr(escaped.toString().length - 4, 4)
  11.     halfYear = escaped.substr(escaped.toString().length - 2, 2)
  12.  
  13.     escaped  = @getMagicNumber(halfYear)
  14.  
  15.     switch @sex()
  16.       when 'f'
  17.         escaped += 5
  18.         escaped += 1 if (+fullYear) >= 2000
  19.       when 'm'
  20.         escaped  = 10 - escaped
  21.         escaped -= 1 if (+fullYear) >= 2000
  22.  
  23.     escaped = @getMagicNumber(escaped)
  24.  
  25.     @number(escaped)
  26.  
  27.   getMagicNumber: (number) =>
  28.     result = 0
  29.  
  30.     number = number.toString().replace(/[^0-9]+/gi, '')
  31.  
  32.     for char in number
  33.       result += (+char)
  34.  
  35.     return @getMagicNumber(result) if result > 9
  36.  
  37.     result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement