jQuery信用卡验证插件js代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 jQuery信用卡验证插件js代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

jQuery信用卡验证插件js代码

HTML代码(index.html):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>jQuery信用卡验证插件</title>
    <script src="jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="ccvalidate.js" type="text/javascript"></script>
    <link href="ccvalidate.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
        $(document).ready(function () {
            $('.cc-container').ccvalidate({
                onvalidate: function (isValid) {
                    if (!isValid) {
                        alert('Incorrect Credit Card format');
                        return false;
                    }
                }
            });
            $('.cc-ddl-contents').css('display', 'none');
            $('.cc-ddl-header').toggle(function () {
                toggleContents($(this).parent().find('.cc-ddl-contents'));
            }, function () { toggleContents($(this).parent().find('.cc-ddl-contents')); });

            function toggleContents(el) {
                $('.cc-ddl-contents').css('display', 'none');
                if (el.css('display') == 'none') el.fadeIn("slow");
                else el.fadeOut("slow");
            }
            $('.cc-ddl-contents a').click(function () {
                $(this).parent().parent().find('.cc-ddl-o select').attr('selectedIndex', $('.cc-ddl-contents a').index(this));
                $(this).parent().parent().find('.cc-ddl-title').html($(this).html());
                $(this).parent().parent().find('.cc-ddl-contents').fadeOut("slow");
            });
            $(document).click(function () {
                $('.cc-ddl-contents').fadeOut("slow");
            });


            $('#check').click(function () {
                var cnumber = $('#cnumber').val();
                var type = $('#ctype').val();
                alert(isValidCreditCard(cnumber, type) ? 'Valid' : 'Invalid');
            });
        });
    </script>

    <style type="text/css">
        /* body
        {
            background: url(bg.png);
        }
        #wrapper
        {
            width: 700px;
            height: 300px;
            margin: auto;
            padding-top: 50px;
        }*/ body {
            background: url(bg.png);
            margin: 0;
            padding: 0;
            font-family: Arial, Sans-Serif;
            font-size: 10pt;
        }

        #wrapper {
            width: 1024px;
            height: 834px;
            margin: auto;
            border: solid 1px black;
            -moz-border-radius: 8px;
            -webkit-border-radius: 8px;
            border-radius: 8px;
            -moz-border-radius: 8px;
            -webkit-border-radius: 8px;
            border-radius: 8px;
        }

        #wrapper #header {
            /*width: 99%;*/
            height: 110px;
            color: White;
            font-size: 24px;
            font-weight: bold;
            padding-left: 20px;
            padding-top: 40px;
            -moz-border-radius-topleft: 8px;
            -webkit-border-top-left-radius: 8px;
            border-top-left-radius: 8px;
            -moz-border-radius-topright: 8px;
            -webkit-border-top-right-radius: 8px;
            border-top-right-radius: 8px;
            background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#747577), to(#363739));
            background-image: -moz-linear-gradient(#747577, #363739);
            background-image: -webkit-linear-gradient(#747577, #363739);
            background-image: -o-linear-gradient(#747577, #363739);
            filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#747577, endColorstr=#363739)";
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#747577, endColorstr=#363739)";
        }

        #wrapper #menu-bar {
            width: 100%;
            height: 29px;
            padding-top: 4px;
            background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#E5E5E5), to(#CFCFCF));
            background-image: -moz-linear-gradient(#E5E5E5, #CFCFCF);
            background-image: -webkit-linear-gradient(#E5E5E5, #CFCFCF);
            background-image: -o-linear-gradient(#E5E5E5, #CFCFCF);
            filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#E5E5E5, endColorstr=#CFCFCF)";
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#E5E5E5, endColorstr=#CFCFCF)";
            border-bottom: solid 1px #747577;
        }

        #wrapper #contents {
            width: 100%;
            height: 540px;
            padding-top: 60px;
        }

        #wrapper #footer {
            width: 100%;
            height: 50px;
            background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#747577), to(#363739));
            background-image: -moz-linear-gradient(#747577, #363739);
            background-image: -webkit-linear-gradient(#747577, #363739);
            background-image: -o-linear-gradient(#747577, #363739);
            filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#747577, endColorstr=#363739)";
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#747577, endColorstr=#363739)";
            -moz-border-radius-bottomleft: 8px;
            -webkit-border-bottom-left-radius: 8px;
            border-bottom-left-radius: 8px;
            -moz-border-radius-bottomright: 8px;
            -webkit-border-bottom-right-radius: 8px;
            border-bottom-right-radius: 8px;
            border-top: solid 1px #747577;
        }

        #menu-bar ul {
            list-style: none;
            margin: 0;
            padding: 0;
            margin-left: 4px;
        }

        #menu-bar ul li {
            float: left;
            display: inline-block;
            padding: 4px;
        }

        #menu-bar ul li a, #menu-bar ul li a:active, #menu-bar ul li a:visited {
            text-decoration: none;
            color: #747577;
        }

        #menu-bar ul li a:hover {
            text-decoration: underline;
            color: #747577;
        }

        #footer div {
            padding-top: 14px;
            width: 180px;
            margin: auto;
            color: White;
        }

        #footer div a, #footer div a:active, #footer div a:visited {
            text-decoration: none;
            color: white;
        }

        #footer div a:hover {
            text-decoration: underline;
            color: white;
        }

        .cc-container {
            margin: auto;
        }
    </style>
</head>
<body>
<form method="POST,GET" id="form" action="checkout.htm">
        <div>
            <div id="contents">
                <div class="cc-container">
                    <div class="cc-header">
                        Please enter your billing information
                    </div>
                    <div class="cc-contents">
                        <table cellpadding="4" cellspacing="0">
                            <tr>
                                <td style="width: 97px">
                                    <label>
                                        Card Type
                                    </label>
                                </td>
                                <td style="width: 270px">
                                    <div class="cc-ddl">
                                        <div class="cc-ddl-o">
                                            <select id="cc-types" class="cc-ddl-type">
                                                <option value="mcd">Master Card</option>
                                                <option value="vis">Visa Card</option>
                                                <option value="amx">American Express</option>
                                                <option value="dnr">Diner Club</option>
                                                <option value="dis">Discover</option>
                                            </select>
                                        </div>
                                        <div class="cc-ddl-header">
                                            <div class="cc-ddl-title">
                                                Select Card Type
                                            </div>
                                        </div>
                                        <div class="cc-ddl-contents">
                                            <a href="javascript:return void(0)">Master Card</a> <a href="javascript:return void(0)">
                                                Visa Card
                                            </a> <a href="javascript:return void(0)">American Express</a> <a href="javascript:return void(0)">
                                                Diners Club
                                            </a> <a href="javascript:return void(0)">Discover</a>
                                        </div>
                                    </div>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label>
                                        Card Number
                                    </label>
                                </td>
                                <td>
                                    <input type="text" id="card-number" class="large cc-card-number" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label>
                                        Expires on
                                    </label>
                                </td>
                                <td>
                                    <div class="cc-ddl" style="width: 110px; float: left;">
                                        <div class="cc-ddl-o">
                                            <select id="cc-month">
                                                <option value="January">January</option>
                                                <option value="February">February</option>
                                                <option value="March">March</option>
                                                <option value="April">April</option>
                                                <option value="May">May</option>
                                                <option value="June">June</option>
                                                <option value="July">July</option>
                                                <option value="August">August</option>
                                                <option value="September">September</option>
                                                <option value="October">October</option>
                                                <option value="November">November</option>
                                                <option value="December">December</option>
                                            </select>
                                        </div>
                                        <div class="cc-ddl-header">
                                            <div class="cc-ddl-title">
                                                Month
                                            </div>
                                        </div>
                                        <div class="cc-ddl-contents" style="width: 108px">
                                            <a href="javascript:return void(0)">January</a> <a href="javascript:return void(0)">
                                                February
                                            </a> <a href="javascript:return void(0)">March</a> <a href="javascript:return void(0)">
                                                April
                                            </a> <a href="javascript:return void(0)">May</a> <a href="javascript:return void(0)">
                                                June
                                            </a> <a href="javascript:return void(0)">July</a> <a href="javascript:return void(0)">
                                                August
                                            </a> <a href="javascript:return void(0)">September</a> <a href="javascript:return void(0)">
                                                October
                                            </a> <a href="javascript:return void(0)">November</a>
                                            <a href="javascript:return void(0)">December</a>
                                        </div>
                                    </div>
                                    <div class="cc-ddl" style="width: 80px; float: left; margin-left: 4px;">
                                        <div class="cc-ddl-o">
                                            <select id="Select1">
                                                <option value="2011">2011</option>
                                                <option value="2012">2012</option>
                                                <option value="2013">2013</option>
                                                <option value="2014">2014</option>
                                                <option value="2015">2015</option>
                                            </select>
                                        </div>
                                        <div class="cc-ddl-header">
                                            <div class="cc-ddl-title">
                                                Year
                                            </div>
                                        </div>
                                        <div class="cc-ddl-contents" style="width: 78px">
                                            <a href="javascript:return void(0)">2011</a> <a href="javascript:return void(0)">2012</a>
                                            <a href="javascript:return void(0)">2013</a> <a href="javascript:return void(0)">2014</a>
                                            <a href="javascript:return void(0)">2015</a>
                                        </div>
                                    </div>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <label>
                                        CVV
                                    </label>
                                </td>
                                <td>
                                    <input type="text" class="small" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    &nbsp;

                                </td>
                                <td>
                                    <input type="submit" value="Checkout" class="cc-checkout" id="check-out" />
                                </td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>

        </div>
    </form>
</body>
</html>








JS代码(ccvalidate.js):

(function($){
	$.fn.extend({
	ccvalidate:function(options){
	var settings = $.extend({
	onvalidate:null}
,options);
	var cards = new Array();
	cards[0] ={
	name:"mcd",clength:[16],exp:/^5[1-5]/}
;
	cards[1] ={
	name:"vis",clength:[13,16],exp:/^4/}
;
	cards[2] ={
	name:"amx",clength:[15],exp:/^3(4|7)/}
;
	cards[3] ={
	name:"dnr",clength:[14],exp:/^3[0,6,8]\d{
	12}
/}
;
	cards[4] ={
	name:"dis",clength:[16],exp:/^6011\d{
	4}
\d{
	4}
\d{
	4}
/}
;
	return this.each(function(){
	var type = $(this).find('.cc-ddl-type');
	var cardnumber = $(this).find('.cc-card-number');
	var checkout = $(this).find('.cc-checkout');
	if (type == null || type == undefined) alert('Type Drop Down List not supplied');
	if (cardnumber == null || cardnumber == undefined) alert('Card Number Text Box not supplied');
	if (checkout == null || checkout == undefined) alert('Checkout button not supplied');
	if (type != null && type != undefined && cardnumber != null && cardnumber != undefined && checkout != null && checkout != undefined){
	$(checkout).click(function(){
	return ValidateCreditCard(cardnumber.val(),type.val());
}
);
}
function ValidateCreditCard(cardNumber,cardType){
	var isValid = false;
	var ccCheckRegExp = /[^\d ]/;
	isValid = !ccCheckRegExp.test(cardNumber);
	if (isValid){
	var cardNumbersOnly = cardNumber.replace(/ /g,"");
	//trim spaces var cardNumberLength = cardNumbersOnly.length;
	var lengthIsValid = false;
	var prefixIsValid = false;
	var prefixRegExp;
	var card = getCardType(cardType);
	if (card != null){
	for (i = 0;
	i < card.clength.length;
	i++){
	if (!lengthIsValid){
	if (cardNumberLength == card.clength[i]) lengthIsValid = true;
}
}
prefixIsValid = card.exp.test(cardNumbersOnly);
}
isValid = prefixIsValid && lengthIsValid;
}
if (isValid){
	var checkSumTotal = 0;
	checkSumTotal = computeChecksum(cardNumbersOnly);
	isValid = (checkSumTotal % 10 == 0);
}
if (settings.onvalidate != null) settings.onvalidate(isValid);
	return isValid;
}
function getCardType(type){
	var card = null;
	;
	for (i = 0;
	i < cards.length;
	i++){
	if (cards[i].name.toLowerCase() == type.toLowerCase()){
	card = cards[i];
	break;
}
}
return card;
}
function computeChecksum(cardNo){
	var checksum = 0;
	var factor = 1;
	var temp;
	for (i = cardNo.length - 1;
	i >= 0;
	i--){
	temp = Number(cardNo.charAt(i)) * factor;
	if (temp > 9){
	checksum += 1;
	temp -= 10;
}
checksum += temp;
	factor = (factor == 1 ? 2:1);
}
return checksum;
}
}
);
}
}
);
}
)(jQuery);
	

CSS代码(ccvalidate.css):

.cc-container{font-family:Arial;font-size:14px;font-weight:bold;width:423px;height:236px;background-color:#363739;border:solid 1px #2f3032;border-radius:8px;-webkit-border-radius:8px;-moz-border-radius:8px;box-shadow:0 3px 3px rgba(0,0,0,0.20),rgba(0,0,0,0.12) 0px 0px 10px inset;-webkit-box-shadow:0 3px 3px rgba(0,0,0,0.20),rgba(0,0,0,0.12) 0px 0px 10px inset;-moz-box-shadow:0 3px 3px rgba(0,0,0,0.20),rgba(0,0,0,0.12) 0px 0px 10px inset;}
.cc-header{height:25px;color:White;text-align:left;padding-top:5px;padding-left:10px;font-weight:bold;-moz-border-radius-topleft:8px;-webkit-border-top-left-radius:8px;border-top-left-radius:8px;-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;border-top-right-radius:8px;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(#747577),to(#363739));background-image:-moz-linear-gradient(#747577,#363739);background-image:-webkit-linear-gradient(#747577,#363739);background-image:-o-linear-gradient(#747577,#363739);}
.cc-contents{margin-left:12px;padding:8px;width:381px;height:176px;border:solid 1px #2f3032;border-radius:8px;-webkit-border-radius:8px;-moz-border-radius:8px;background-color:#f1f1f1;}
.cc-contents label{display:inline-block;color:#616161;width:97px;}
.cc-contents input[type=text]{border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;height:22px;}
.cc-contents input.large{width:260px;}
.cc-contents input.small{width:64px;}
.cc-contents input.cc-checkout{width:80px;height:28px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-top:solid 1px #0C528E;border-bottom:solid 1px #0E7EBD;border-left:solid 1px #0E7EBD;border-right:solid 1px #0E7EBD;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(#107EBD),to(#0C54B7));background-image:-moz-linear-gradient(#107EBD,#0C54B7);background-image:-webkit-linear-gradient(#107EBD,#0C54B7);background-image:-o-linear-gradient(#107EBD,#0C54B7);filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#107EBD,endColorstr=#0C54B7)";-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#107EBD,endColorstr=#0C54B7)";color:White;cursor:pointer;font-weight:bold;}
.cc-ddl{width:160px;color:#616161;}
.cc-ddl .cc-ddl-header{border-left:1px solid #A9A9A9;border-right:1px solid #A9A9A9;border-top:1px solid #A9A9A9;padding:4px;text-align:left;height:18px;border-bottom:solid 1px #7E7E7E;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;background-color:#DDDDDD;background-image:-webkit-gradient(linear,0% 0%,0% 100%,from(#DDDDDD),to(#B6B6B6));background-image:-moz-linear-gradient(#DDDDDD,#B6B6B6);background-image:-webkit-linear-gradient(#DDDDDD,#B6B6B6);background-image:-o-linear-gradient(#DDDDDD,#B6B6B6);filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#DDDDDD,endColorstr=#B6B6B6)";-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#DDDDDD,endColorstr=#B6B6B6)";cursor:pointer;}
.cc-ddl-title{background:url(arrow.png) no-repeat right;width:100%;}
.cc-ddl-contents{width:158px;position:absolute;background-color:#DDDDDD;overflow-y:scroll;height:110px;border:solid 1px #A9A9A9;margin-top:-4px;}
.cc-ddl-contents a{text-decoration:none;color:#616161;padding:6px;display:block;}
.cc-ddl-contents a:active,.cc-ddl-contents a:hover,.cc-ddl-contents a:visited{text-decoration:none;color:#616161;background-color:#B6B6B6;display:block;}
.cc-ddl-o{display:none;}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
31.21 KB
Html 表单代码2
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章