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 相关文章推荐
jquery text,radio,checkbox,select操作实现代码
Jul 09 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
Feb 12 Javascript
jquery插件开发之实现md5插件
Mar 17 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
Jan 04 Javascript
js处理层级数据结构的方法小结
Jan 17 Javascript
jQuery异步提交表单实例
May 30 jQuery
JS实现下拉菜单列表与登录注册弹窗效果
Aug 10 Javascript
vue 实现超长文本截取,悬浮框提示
Jul 29 Javascript
js实现拖拽元素选择和删除
Aug 25 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
九种原生js动画效果
2015/11/11 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
python创建和删除目录的方法
2015/04/29 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
如何通过命令行进入python
2020/07/06 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
公司授权委托书范本
2014/09/18 职场文书
学校师德师风整改方案
2014/10/28 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
管理失职检讨书
2015/05/05 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
革命电影观后感
2015/06/18 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
MySQL系列之四 SQL语法
2021/07/02 MySQL