cleave.js - more examples

cleave.js - more examples

HTML

<script src="https://nosir.github.io/cleave.js/dist/cleave.min.js"></script>
<script src="https://nosir.github.io/cleave.js/dist/cleave-phone.i18n.js"></script>
<div>
    <section>
        <p>クレジットカード(<span class="type">クレカの種類を自動認識</span>): </p>
        <input class="input-0" placeholder="ex) 4***" />
    </section>
    
    <section>
        <p> "."で区切る年月日</p>
        <input class="input-3" placeholder="ex) 1876.02.13" />
    </section>
    
    <section>
        <p> "1.234.567,89"みたいな感じで右寄せ</p>
        <input class="input-4 right" placeholder="ex) 1.234.567,89" />
    </section>
    
    <section>
        <p>「¥」をプレフィクスに右寄せ</p>
        <input class="input-1 right" placeholder="ex) 500円" />
    </section>
    
    <section>
        <p>「-」や「.」など任意の文字で区切る</p>
        <input class="input-5" placeholder="ex) 12-34.56" />
    </section>
    
    <section>
        <p>複数機能を組み合わせる:</p>
        <input class="input-6" />
    </section>
    
    <section>
        <p>付加価値税登録番号</p>
        <input class="input-2" />
    </section>
    
    <section>
        <p>変更可能なプレフィクス</p>
        <input value="deleteme" class="input-7" />
    </section>
</div>

CSS

input {
    width: 80%;
    display: block;
    outline: none;
    -webkit-appearance: none;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    background-color: #fff;
    line-height: 30px;
    vertical-align: middle;
    height: 33px;
    font-size: 14px;
    padding: 0 8px;
}

.input-numeral {
    text-align: right;
}

.right {
    text-align: right;
}

body {
    font-family: sans-serif;
}

p {
    margin: 0;
    padding: 0 0 5px 0;
    font-size: 14px;
    color: #666;
}

section {
    margin-bottom: 10px;
    width: 50%;
    float: left;
}

JavaScript

new Cleave('.input-0', {
    creditCard: true,
    onCreditCardTypeChanged: function (type) {
        document.querySelector('.type').innerHTML = type;
    }
});

new Cleave('.input-3', {
    date: true,
    datePattern: ['Y', 'm', 'd'],
    delimiter: '.'
});

new Cleave('.input-4', {
    numeral: true,
    numeralDecimalMark: ',',
    delimiter: '.'
});

new Cleave('.input-1', {
    numeral: true,
    prefix: '¥'
});

new Cleave('.input-5', {
	uppercase: true,
    delimiters: ['.', '.', '-'],
    blocks: [3, 3, 3, 2]
});

new Cleave('.input-6', {
	uppercase: true,
    delimiter: ' ',
    prefix: '+81',
    blocks: [3, 9] // or [9]
});

new Cleave('.input-2', {
    numericOnly: true,
    delimiter: '.',
    prefix: 'BE',
    blocks: [5, 3, 3]
});

new Cleave('.input-7', {
	uppercase: true,
    delimiter: '-',
    blocks: [6, 2, 3, 3]
});