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 相关文章推荐
google 搜索框添加关键字实现代码
Apr 24 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
js微信支付实现代码
Dec 22 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
4 种滚动吸顶实现方式的比较
Apr 09 Javascript
JavaScript中的this/call/apply/bind的使用及区别
Mar 06 Javascript
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购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
自荐信格式技巧有哪些呢
2013/11/19 职场文书
采购员的工作职责
2013/12/26 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
Python合并pdf文件的工具
2021/07/01 Python
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android