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 相关文章推荐
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
使用firebug进行调试javascript的示例
Dec 16 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 Javascript
Vue组件的使用教程详解
Jan 05 Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
vue中input的v-model清空操作
Sep 06 Javascript
vue使用一些外部插件及样式的配置代码
Nov 18 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
mysql总结之explain
2012/02/27 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
php编程每天必学之验证码
2016/03/03 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python中 logging的使用详解
2017/10/25 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
Python连接mysql方法及常用参数
2020/09/01 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
教师学习培训邀请函
2014/02/04 职场文书
教师节促销活动方案
2014/02/14 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
二年级作文之动物作文
2019/11/13 职场文书
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers