# Isbn

`Zend_Validate_Isbn` allows you to validate an ISBN-10 or ISBN-13 value.

## Supported options for Zend_Validate_Isbn

The following options are supported for `Zend_Validate_Isbn`:

- separator: Defines the allowed separator for the ISBN number. It defaults to an empty string.

- type: Defines the allowed type of ISBN numbers. It defaults to `Zend_Validate_Isbn::AUTO`. For details take a look at this section.

## Basic usage

A basic example of usage is below:

    $validator = new Zend_Validate_Isbn();
    if ($validator->isValid($isbn)) {
        // isbn is valid
    } else {
        // isbn is not valid
    }

This will validate any ISBN-10 and ISBN-13 without separator.

## Setting an explicit ISBN validation type

An example of an ISBN type restriction is below:

    $validator = new Zend_Validate_Isbn();
    $validator->setType(Zend_Validate_Isbn::ISBN13);
    // OR
    $validator = new Zend_Validate_Isbn(array(
        'type' => Zend_Validate_Isbn::ISBN13,
    ));

    if ($validator->isValid($isbn)) {
        // this is a valid ISBN-13 value
    } else {
        // this is an invalid ISBN-13 value
    }

The above will validate only ISBN-13 values.

Valid types include:

- `Zend_Validate_Isbn::AUTO` (default)

- `Zend_Validate_Isbn::ISBN10`

- `Zend_Validate_Isbn::ISBN13`

## Specifying a separator restriction

An example of separator restriction is below:

    $validator = new Zend_Validate_Isbn();
    $validator->setSeparator('-');
    // OR
    $validator = new Zend_Validate_Isbn(array(
        'separator' => '-',
    ));

    if ($validator->isValid($isbn)) {
        // this is a valid ISBN with separator
    } else {
        // this is an invalid ISBN with separator
    }

### Values without separator

This will return `FALSE` if `$isbn` doesn't contain a separator or if it's an invalid ISBN value.

Valid separators include:

- "" (empty) (default)

- "-" (hyphen)

- " " (space)