> For the complete documentation index, see [llms.txt](https://antonioru.gitbook.io/deep-waters/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard.md).

# isCreditCard

Reports whether the received value is a valid credit card number.

```javascript
import isCreditCard from 'deep-waters/isCreditCard';

isCreditCard(347190259623701); // American Express → true
isCreditCard(4286124395547263); // VISA → true
isCreditCard(5276023546902691); // Mastercard → true
isCreditCard(6011583945260254); // Discover → true
isCreditCard(38716394960899); // Diners Club → true
isCreditCard(3528701379615495); // JCB → true

isCreditCard('6011-5839-4526-0254'); // Credit card format → false
isCreditCard("foo"); // → false
isCreditCard(undefined); // → false
```

{% hint style="warning" %}
Please note, **isCreditCard** assumes the receiving value is a number or a string without the usual dashes. \
It only evaluates the credit card number, not its format.
{% endhint %}

### Specificity

**isCreditCard** reports whether a string or a number is a valid credit card number, it doesn't tell anything on the type of card. \
To check on specific card types it's possible to use one of the composing function of isCreditCard:

* [isVISA](/deep-waters/validators/iscreditcard/isvisa.md)
* [isMastercard](/deep-waters/validators/iscreditcard/ismastercard.md)
* [isAmericanExpress](/deep-waters/validators/iscreditcard/isamericanexpress.md)
* [isDinersClub](/deep-waters/validators/iscreditcard/isdinersclub.md)
* [isDiscover](/deep-waters/validators/iscreditcard/isdiscover.md)
* [isJCB](/deep-waters/validators/iscreditcard/isjcb.md)
