# stdnum.es.dni

DNI (Documento nacional de identidad, Spanish personal identity codes).

The DNI is a 9 digit number used to identify Spanish citizens. The last digit is a checksum letter.

Foreign nationals, since 2010 are issued an NIE (Número de Identificación de Extranjeros, Foreigner’s Identity Number) instead.

    >>> validate('54362315-K')
    '54362315K'
    >>> validate('54362315Z')  # invalid check digit
    Traceback (most recent call last):
        ...
    InvalidChecksum: ...
    >>> validate('54362315')  # digit missing
    Traceback (most recent call last):
        ...
    InvalidLength: ...

`stdnum.es.dni.``calc_check_digit`(number)

  Calculate the check digit. The number passed should not have the check digit included.

`stdnum.es.dni.``compact`(number)

  Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.

`stdnum.es.dni.``is_valid`(number)

  Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.

`stdnum.es.dni.``validate`(number)

  Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.