Javascript验证Visa和MasterCard信用卡号的方法


Posted in Javascript onJuly 27, 2015

本文实例讲述了Javascript验证Visa和MasterCard信用卡号的方法。分享给大家供大家参考。具体实现方法如下:

visa验证:

<HTML>
 <head>
  <title>Visa Example</title>
  <script type="text/javascript">
    function luhnCheckSum(sCardNum) {
     var iOddSum = 0;
     var iEvenSum = 0;
     var bIsOdd = true;
     for (var i=sCardNum.length-1; i >= 0; i--) {
      var iNum = parseInt(sCardNum.charAt(i));
      if (bIsOdd) {
       iOddSum += iNum;
      } else {
       iNum = iNum * 2;
       if (iNum > 9) {
        iNum = eval(iNum.toString().split("").join("+"));
       }
       iEvenSum += iNum;
      }
      bIsOdd = !bIsOdd;
     }
     return ((iEvenSum + iOddSum) % 10 == 0);
    }
    function isValidVisa(sText) {
     var reVisa = /^(4\d{12}(?:\d{3})?)$/;
     if (reVisa.test(sText)) {
      return luhnCheckSum(RegExp.$1);
     } else {
      return false;
     }
    }
    function validate() {
     var oInput1 = document.getElementById("txt1");
     if (isValidVisa(oInput1.value)) {
      alert("Valid");
     } else {
      alert("Invalid!");
     }
    }
  </script>
 </head>
 <body>
  <P>Visa Number: <input type="text" id="txt1" /><br />
  <input type="button" value="Validate" onclick="validate()" /></p>
 </body>
</html>

MasterCard验证:

<html>
 <head>
  <title>MasterCard Example</title>
  <script type="text/javascript">
    function luhnCheckSum(sCardNum) {
     var iOddSum = 0;
     var iEvenSum = 0;
     var bIsOdd = true;
     for (var i=sCardNum.length-1; i >= 0; i--) {
      var iNum = parseInt(sCardNum.charAt(i));
      if (bIsOdd) {
       iOddSum += iNum;
      } else {
       iNum = iNum * 2;
       if (iNum > 9) {
        iNum = eval(iNum.toString().split("").join("+"));
       }
       iEvenSum += iNum;
      }
      bIsOdd = !bIsOdd;
     }
     return ((iEvenSum + iOddSum) % 10 == 0);
    }
    function isValidMasterCard(sText) {
     var reMasterCard = /^(5[1-5]\d{2})[\s\-]?(\d{4})[\s\-]?(\d{4})[\s\-]?(\d{4})$/;
     if (reMasterCard.test(sText)) {
      var sCardNum = RegExp.$1 + RegExp.$2 + RegExp.$3 + RegExp.$4;
      return luhnCheckSum(sCardNum);
     } else {
      return false;
     }
    }
    function validate() {
     var oInput1 = document.getElementById("txt1");
     if (isValidMasterCard(oInput1.value)) {
      alert("Valid");
     } else {
      alert("Invalid!");
     }
    }
  </script>
 </head>
 <body>
  <P>MasterCard Number: <input type="text" id="txt1" /><br />
  <input type="button" value="Validate" onclick="validate()" /></p>
 </body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
ie 调试javascript的工具
Apr 29 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
JS应用正则表达式转换大小写示例
Sep 18 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
Ionic默认的Tabs模板使用实例
Aug 29 Javascript
浅谈js中StringBuffer类的实现方法及使用
Sep 02 Javascript
JS图片放大效果简单实现代码
Sep 08 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 Javascript
jQuery事件与动画基础详解
Feb 23 Javascript
AngularJS 限定$scope的范围实例详解
Jun 23 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
JavaScript实现自动对页面上敏感词进行屏蔽的方法
Jul 27 #Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
Jul 27 #Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 #Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
Jul 27 #Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 #Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 #Javascript
在for循环中length值是否需要缓存
Jul 27 #Javascript
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
JQuery toggle使用分析
2009/11/16 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
使用js和canvas实现时钟效果
2020/09/08 Javascript
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python 爬虫的原理
2020/07/30 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
高校辅导员推荐信范文
2013/12/25 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
学校消防演习方案
2014/02/19 职场文书
党员公开承诺事项
2014/03/25 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
党风廉正建设责任书
2015/01/29 职场文书
CSS极坐标的实例代码
2021/06/03 HTML / CSS
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android