81 lines
1.7 KiB
JavaScript
81 lines
1.7 KiB
JavaScript
const ibanDemo = function() {
|
|
|
|
function couldBeIBAN(str) {
|
|
|
|
return str && countries.isValidISOCode(str.substring(0,2));
|
|
}
|
|
|
|
return {
|
|
couldBeIBAN: couldBeIBAN,
|
|
couldBeBBAN: function couldBeBBAN(str) {
|
|
|
|
return str && !couldBeIBAN(str);
|
|
}
|
|
|
|
}
|
|
}();
|
|
|
|
$(document).ready(function(){
|
|
|
|
function onIBAN(str) {
|
|
let html;
|
|
if (IBAN.isValid(str)) {
|
|
const bban = IBAN.toBBAN(str, ' ');
|
|
html = '<h3>This IBAN is VALID! <small>BBAN is ' + bban + '</small></h3>';
|
|
} else {
|
|
html = '<h3>This IBAN is INVALID!';
|
|
}
|
|
$('#results').html(html);
|
|
$('#results').show();
|
|
}
|
|
|
|
function onBBAN(str) {
|
|
let html;
|
|
const country = $('#country').val();
|
|
if (IBAN.isValidBBAN(country, str)) {
|
|
const iban = IBAN.fromBBAN(country, str);
|
|
html = '<h3>This BBAN is VALID! <small>IBAN is ' + iban + '</small></h3>';
|
|
} else {
|
|
html = '<h3>This BBAN is INVALID!';
|
|
}
|
|
$('#results').html(html);
|
|
$('#results').show();
|
|
}
|
|
|
|
$('#userInput').bind('keyup', onChange);
|
|
$('#userInput').bind('change', onChange);
|
|
|
|
$('#results').hide();
|
|
$('#country').hide();
|
|
$('#countryLb').hide();
|
|
$('#userInput').focus();
|
|
|
|
function onChange() {
|
|
const val = $('#userInput').val();
|
|
if (ibanDemo.couldBeIBAN(val)) {
|
|
$('#country').hide();
|
|
$('#countryLb').hide();
|
|
}
|
|
|
|
if (ibanDemo.couldBeBBAN(val)) {
|
|
$('#country').show();
|
|
$('#countryLb').show();
|
|
}
|
|
}
|
|
|
|
$('#goBtn').click(function() {
|
|
$('#results').hide();
|
|
|
|
const val = $('#userInput').val();
|
|
if (ibanDemo.couldBeIBAN(val)) {
|
|
onIBAN(val);
|
|
}
|
|
|
|
if (ibanDemo.couldBeBBAN(val)) {
|
|
onBBAN(val);
|
|
}
|
|
|
|
|
|
});
|
|
});
|