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 相关文章推荐
javascript循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
asp.net+js实现金额格式化
Feb 27 Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 Javascript
element el-input directive数字进行控制
Oct 11 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
深入理解 ES6中的 Reflect用法
Jul 18 Javascript
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
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实现随机显示图片方法汇总
2015/05/21 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
python实现图片批量压缩程序
2018/07/23 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
网上签名寄语活动留言
2014/01/18 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
婚前协议书范本
2014/10/27 职场文书
大连星海广场导游词
2015/02/10 职场文书
教师听课学习心得体会
2016/01/15 职场文书