# Card - check out the **[demo](https://jessepollak.github.io/card)** ### A better credit card form in one line of code Card will take *any* credit card form and make it the best part of the checkout process (without you changing anything). Everything is created with pure CSS, HTML, and Javascript — no images required.  ## Usage To use, you'll need to include the correct CSS and Javascript files into your HTML. You can find the necessary files at `/lib/js/card.js` and `/lib/css/card.css` and include them in your HTML like so. ```html ``` Once you've included those files, you can initialize Card. ```javascript $('form').card({ // a selector or jQuery object for the container // where you want the card to appear container: '.card-wrapper', // *required* numberInput: 'input#number', // optional — default input[name="number"] expiryInput: 'input#expiry', // optional — default input[name="expiry"] cvcInput: 'input#cvc', // optional — default input[name="cvc"] nameInput: 'input#name', // optional - defaults input[name="name"] width: 200, // optional — default 350px formatting: true, // optional - default true // Strings for translation - optional messages: { validDate: 'valid\ndate', // optional - default 'valid\nthru' monthYear: 'mm/yyyy', // optional - default 'month/year' }, // Default values for rendered fields - options values: { number: '•••• •••• •••• ••••', name: 'Full Name', expiry: '••/••', cvc: '•••' } }); ``` ### Using multiple inputs for one field Card can be used in forms where you have multiple inputs that render to a single field (i.e. you have a first and last name input). To use Card with this functionality, just pass in a jQuery selector that selects the fields in the correct order. For example, ```html
``` ### Rendering with different initial card values Card renders with default values for card `name`, `number`, `expiry`, and `cvc`. To override these values, you can either pass in a `values` object or set `$.card.values` before initializing `card`. Do one or the other, not both. ```html ``` ### Translation To render the card with the strings in a different language, you can either pass in a `messages` object or set `$.card.messages` before initializing `card`. Do one or the other, not both. ```html ``` ## Development To contribute, follow this steps: ```bash $ git clone --recursive https://github.com/jessepollak/card.git $ cd card $ npm install $ npm start ``` Now, if you go to localhost:8080/example in your browser, you should see the demo page. ## Places using Card Card is used in the wild in these places: * [InspectAll](http://www.inspectall.com/) * [PennyWhale](https://www.pennywhale.com/) * [MakeSpace – Your Closet in the Cloud](https://www.makespace.com/) Are you using Card in production? If so, we'd love to link to you from this page. Open a PR or drop [@jessepollak](http://twitter.com/jessepollak) a line on [Twitter](http://twitter.com/jessepollak) and we'll add you right away!