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

 更新时间:2015年07月27日 17:03:14   作者:红薯  
这篇文章主要介绍了Javascript验证Visa和MasterCard信用卡号的方法,涉及javascript正则验证的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 原生JS面向对象实现打砖块小游戏

    原生JS面向对象实现打砖块小游戏

    这篇文章主要为大家详细介绍了原生JS面向对象实现打砖块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 原生js做的手风琴效果的导航菜单

    原生js做的手风琴效果的导航菜单

    手风琴效果的导航想必大家都有见到过吧,实现的方法也有很多,在本文为大家介绍下使用原生js简单实现下,感兴趣的朋友不要错过
    2013-11-11
  • js调用AJAX时Get和post的乱码解决方法

    js调用AJAX时Get和post的乱码解决方法

    在使用"get"时,抓取的页面最后加上编码类型,在使用post时用vbscript解决了编码问题,具体实现如下,有类似情况的朋友可以参考下哈
    2013-06-06
  • JavaScript队列、优先队列与循环队列

    JavaScript队列、优先队列与循环队列

    这篇文章主要为大家详细介绍了JavaScript队列、优先队列与循环队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • js控制的回到页面顶端goTop的代码实现

    js控制的回到页面顶端goTop的代码实现

    在浏览网页的时候应该会经常见到右下角有个【回到顶端】的悬浮东东,本文也要使用js实现一下,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • js 获取经纬度的实现方法

    js 获取经纬度的实现方法

    下面小编就为大家带来一篇js 获取经纬度的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • ligerUI---ListBox(列表框可移动的实例)

    ligerUI---ListBox(列表框可移动的实例)

    下面小编就为大家分享一篇ligerUI---ListBox(列表框可移动的实例),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • 微信小程序 如何保持登录状态

    微信小程序 如何保持登录状态

    这篇文章主要介绍了微信小程序 如何保持登录状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • js打开word文档预览操作示例【不是下载】

    js打开word文档预览操作示例【不是下载】

    这篇文章主要介绍了js打开word文档预览操作,结合实例形式分析了两种javascript打开word文档在线预览相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • 移动端点击图片放大特效PhotoSwipe.js插件实现

    移动端点击图片放大特效PhotoSwipe.js插件实现

    这篇文章主要为大家详细介绍了移动端点击图片放大特效PhotoSwipe.js插件实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论