Credit card component for vue

Another Credit Card Component for VueJS.

Note: Localization supports only Turkish & English for now.

  • [x] Localization (i18n) (All translations are welcome)
  • [x] Card Preview
  • [x] Hide sensitive information
  • [x] Card input mask
  • [x] Easily customizable
  • [ ] Validator

#cards #vue #vuejs

What is GEEK

Buddha Community

Credit card component for vue

How to Making A Simple Credit Card Validation form

In this quick tutorial we will show you how to create a simple credit card form. We'll build the whole thing from scratch, with a little help from Bootstrap 3 for the interface, and Payform.js for client-side form validation.

Project Overview

Here is a sneak-peak of what we will be building in this tutorial:


Credit Card Form Demo

You can get the full code for this project from the Download button near the top of the article. An overview of the files can be seen below:


There are two .css files and two .js files which we will need to include in our HTML. All other resources such as the Bootstrap framework, jQuery, and web fonts will be included externally via CDN.


<!DOCTYPE html>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Credit Card Validation Demo</title>

    <link href="" rel="stylesheet">
    <link rel="stylesheet" href="">
    <link rel="stylesheet" type="text/css" href="assets/css/styles.css">
    <link rel="stylesheet" type="text/css" href="assets/css/demo.css">


    <!-- The HTML for our form will go here -->

    <script src=""></script>
    <script src="assets/js/jquery.payform.min.js" charset="utf-8"></script>
    <script src="assets/js/script.js"></script>

Now that everything is set up, we can start building our credit card form. Let's start with the HTML layout!


A credit card dialog needs to be simple, short, and straightforward. Here are the four input fields that every credit card form needs to have:

  • Credit card owner name
  • Card number
  • Secret code (also known as CVV/CVC/CID)
  • Expiration Date

All we need to do is create a <form> and add all the required input fields. For the owner, card number, and CVV we will use simple text fields. For the expiration date we'll put a combination of two selects with predefined options.

Besides that our form will have a heading, a submit button, and images for popular credit card vendors. Since we are working with Bootstrap there is a little extra markup, but it helps keep the code organized and the layout responsive.

<div class="creditCardForm">
    <div class="heading">
        <h1>Confirm Purchase</h1>
    <div class="payment">
            <div class="form-group owner">
                <label for="owner">Owner</label>
                <input type="text" class="form-control" id="owner">
            <div class="form-group CVV">
                <label for="cvv">CVV</label>
                <input type="text" class="form-control" id="cvv">
            <div class="form-group" id="card-number-field">
                <label for="cardNumber">Card Number</label>
                <input type="text" class="form-control" id="cardNumber">
            <div class="form-group" id="expiration-date">
                <label>Expiration Date</label>
                    <option value="01">January</option>
                    <option value="02">February </option>
                    <option value="03">March</option>
                    <option value="04">April</option>
                    <option value="05">May</option>
                    <option value="06">June</option>
                    <option value="07">July</option>
                    <option value="08">August</option>
                    <option value="09">September</option>
                    <option value="10">October</option>
                    <option value="11">November</option>
                    <option value="12">December</option>
                    <option value="16"> 2016</option>
                    <option value="17"> 2017</option>
                    <option value="18"> 2018</option>
                    <option value="19"> 2019</option>
                    <option value="20"> 2020</option>
                    <option value="21"> 2021</option>
            <div class="form-group" id="credit_cards">
                <img src="assets/images/visa.jpg" id="visa">
                <img src="assets/images/mastercard.jpg" id="mastercard">
                <img src="assets/images/amex.jpg" id="amex">
            <div class="form-group" id="pay-now">
                <button type="submit" class="btn btn-default" id="confirm-purchase">Confirm</button>

Now that we have the needed input fields, we can setup the validation rules.


All of the validation we will show here is client side and done exclusively in the JavaScript. If it is HTML validation that you are interested in, check out this article.

To kick things off we will define all the jQuery selectors we will need:

var owner = $('#owner'),
    cardNumber = $('#cardNumber'),
    cardNumberField = $('#card-number-field'),
    CVV = $("#cvv"),
    mastercard = $("#mastercard"),
    confirmButton = $('#confirm-purchase'),
    visa = $("#visa"),
    amex = $("#amex");

Then, using Payform.js, we will turn our basic input fields into specialized input for credit card data. We simply need to call the right function and the library will automatically handle text formatting and maximum string length for us:

cardNumber.payform('formatCardNumber'); CVV.payform('formatCardCVC');

Next, we want to be able to give real-time feedback to users while they are typing in their card number. To do so we will write a simple function that does two things:

  1. Check if the current text in the field is а valid card number or not. Add appropriate coloring to the text field.
  2. Depending on the present input characters, see if the card is either Visa, MasterCard, or American Express. This is done using the payform.parseCardType() method.

Since we want to execute the above actions every time a new character is typed in, we will use the jQuery keyup() event listener.

cardNumber.keyup(function() {

    if ($.payform.validateCardNumber(cardNumber.val()) == false) {
    } else {

    if ($.payform.parseCardType(cardNumber.val()) == 'visa') {
    } else if ($.payform.parseCardType(cardNumber.val()) == 'amex') {
    } else if ($.payform.parseCardType(cardNumber.val()) == 'mastercard') {

There is one more thing we have to do and that is is check if all the field are holding valid data when the user tries to submit the form.

Name validation can be quite tricky. To keep this tutorial light, we won't be going into that subject, and we will only check if the input name is at least 5 characters long. Payform provides us with the needed methods for validating the rest of the form. {

    var isCardValid = $.payform.validateCardNumber(cardNumber.val());
    var isCvvValid = $.payform.validateCardCVC(CVV.val());

    if(owner.val().length < 5){
        alert("Wrong owner name");
    } else if (!isCardValid) {
        alert("Wrong card number");
    } else if (!isCvvValid) {
        alert("Wrong CVV");
    } else {
        // Everything is correct. Add your form submission code here.
        alert("Everything is correct");

The above validation is for educational purposes only and shouldn't be used on commercial projects. Always include both client-side and server-side validation to your forms, especially when working with credit card data.


We are using Bootstrap, so most of the styling is done by the framework. Our CSS mostly covers the size of the input fields and various padding, margin and font tweaks.


.creditCardForm {
    max-width: 700px;
    background-color: #fff;
    margin: 100px auto;
    overflow: hidden;
    padding: 25px;
    color: #4c4e56;
.creditCardForm label {
    width: 100%;
    margin-bottom: 10px;
.creditCardForm .heading h1 {
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    color: #4c4e56;
.creditCardForm .payment {
    float: left;
    font-size: 18px;
    padding: 10px 25px;
    margin-top: 20px;
    position: relative;
.creditCardForm .payment .form-group {
    float: left;
    margin-bottom: 15px;
.creditCardForm .payment .form-control {
    line-height: 40px;
    height: auto;
    padding: 0 16px;
.creditCardForm .owner {
    width: 63%;
    margin-right: 10px;
.creditCardForm .CVV {
    width: 35%;
.creditCardForm #card-number-field {
    width: 100%;
.creditCardForm #expiration-date {
    width: 49%;
.creditCardForm #credit_cards {
    width: 50%;
    margin-top: 25px;
    text-align: right;
.creditCardForm #pay-now {
    width: 100%;
    margin-top: 25px;
.creditCardForm .payment .btn {
    width: 100%;
    margin-top: 3px;
    font-size: 24px;
    background-color: #2ec4a5;
    color: white;
.creditCardForm .payment select {
    padding: 10px;
    margin-right: 15px;
.transparent {
    opacity: 0.2;
@media(max-width: 650px) {
    .creditCardForm .owner,
    .creditCardForm .CVV,
    .creditCardForm #expiration-date,
    .creditCardForm #credit_cards {
        width: 100%;
    .creditCardForm #credit_cards {
        text-align: left;

With this our Credit Card Validation Form is complete!

Original article source at:

#validation #card 

Credit card fraud and technical solutions

Credit card fraud is an increasingly expensive problem. Technology offers solutions to help combat the problem and gain control.
How to prevent fraudulent transactions in credit cards is a common question plaguing the credit card user today. The credit card brings convenience and security to the users, but the same can become a cause of agony if the user is a victim of any credit card fraud. Smart systems are coming to the aid of credit card users and empowering them against cybercriminals. Using fraud detection tools and following some simple precautions, the users can protect themselves against credit card fraud.

#credit card fraud detection #types of credit card fraud #contactless payment systems #technological challenges in credit card fraud #prevent fraudulent transactions in credit cards

Luna  Mosciski

Luna Mosciski


8 Popular Websites That Use The Vue.JS Framework

In this article, we are going to list out the most popular websites using Vue JS as their frontend framework.

Vue JS is one of those elite progressive JavaScript frameworks that has huge demand in the web development industry. Many popular websites are developed using Vue in their frontend development because of its imperative features.

This framework was created by Evan You and still it is maintained by his private team members. Vue is of course an open-source framework which is based on MVVM concept (Model-view view-Model) and used extensively in building sublime user-interfaces and also considered a prime choice for developing single-page heavy applications.

Released in February 2014, Vue JS has gained 64,828 stars on Github, making it very popular in recent times.

Evan used Angular JS on many operations while working for Google and integrated many features in Vue to cover the flaws of Angular.

“I figured, what if I could just extract the part that I really liked about Angular and build something really lightweight." - Evan You

#vuejs #vue #vue-with-laravel #vue-top-story #vue-3 #build-vue-frontend #vue-in-laravel #vue.js

Sofia Kelly

Sofia Kelly


10 Best Vue Icon Component For Your Vue.js App

Icons are the vital element of the user interface of the product enabling successful and effective interaction with it. In this article, I will collect 10 Vue icon component to bring more interactivity, better UI design to your Vue application.

1. Animated SweetAlert Icons for Vue

A clean and simple Vue wrapper for SweetAlert’s fantastic status icons. This wrapper is intended for users who are interested in just the icons. For the standard SweetAlert modal with all of its bells and whistles, you should probably use Vue-SweetAlert 2

Animated SweetAlert Icons for Vue



2. vue-svg-transition

Create 2-state, SVG-powered animated icons.




3. Vue-Awesome

Awesome SVG icon component for Vue.js, with built-in Font Awesome icons.




4. vue-transitioning-result-icon

Transitioning Result Icon for Vue.js

A scalable result icon (SVG) that transitions the state change, that is the SVG shape change is transitioned as well as the color. Demonstration can be found here.

A transitioning (color and SVG) result icon (error or success) for Vue.




5. vue-zondicons

Easily add Zondicon icons to your vue web project.




6. vicon

Vicon is an simple iconfont componenet for vue.

iconfont is a Vector Icon Management & Communication Platform made by Alimama MUX.



7. vue-svgicon

A tool to create svg icon components. (vue 2.x)




8. vue-material-design-icons

This library is a collection of Vue single-file components to render Material Design Icons, sourced from the MaterialDesign project. It also includes some CSS that helps make the scaling of the icons a little easier.




9. vue-ionicons

Vue Icon Set Components from Ionic Team

Design Icons, sourced from the Ionicons project.




10. vue-ico

Dead easy, Google Material Icons for Vue.

This package’s aim is to get icons into your Vue.js project as quick as possible, at the cost of all the bells and whistles.




I hope you like them!

#vue #vue-icon #icon-component #vue-js #vue-app

Henry Short

Henry Short


7 Best Vue Highlight Component for Your Vue App

Vue highlight is often used to highlight text and syntax. Here are the 7 Vue highlight components I’ve collected.

1. vue-snippets

Vue3 Snippets, This extension adds Vue3 Code Snippets into Visual Studio Code.



2. vim-vue-plugin

Vim syntax and indent plugin for vue files



3. vue-highlighter

Vue directive for highlight multiple istances of a word.



4. vue-code-highlight

Beautiful code syntax highlighting as Vue.js component.



5. Vue Prism Editor

A dead simple code editor with syntax highlighting and line numbers. 7kb/gz


  • Code Editing ^^
  • Syntax highlighting
  • Undo / Redo
  • Copy / Paste
  • The spaces/tabs of the previous line is preserved when a new line is added
  • Works on mobile (thanks to contenteditable)
  • Resize to parent width and height
  • Support for line numbers
  • Support for autosizing the editor
  • Autostyling the linenumbers(optional)

Vue Prism Editor



6. vue-highlight-words

A simple port from react-highlight-words

Vue component to highlight words within a larger body of text.




7. vue-highlight-text

Vue component for highlight multiple istances of a word.




Thank for read!

#vue-highlight #vue #vue-highlight-component #highlight-vue