当前位置: 首页 > 编程笔记 >

JavaScript实现信用卡校验方法

全宪
2023-03-14
本文向大家介绍JavaScript实现信用卡校验方法,包括了JavaScript实现信用卡校验方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JavaScript实现信用卡校验方法。分享给大家供大家参考。具体分析如下:

这里JavaScript版的信用卡校验代码,采用了Luhn算法

function isValidCreditCard(type, ccnum) {
  if (type == "Visa") {
   // Visa: length 16, prefix 4, dashes optional.
   var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
  } else if (type == "MC") {
   // Mastercard: length 16, prefix 51-55, dashes optional.
   var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
  } else if (type == "Disc") {
   // Discover: length 16, prefix 6011, dashes optional.
   var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
  } else if (type == "AmEx") {
   // American Express: length 15, prefix 34 or 37.
   var re = /^3[4,7]\d{13}$/;
  } else if (type == "Diners") {
   // Diners: length 14, prefix 30, 36, or 38.
   var re = /^3[0,6,8]\d{12}$/;
  }
  if (!re.test(ccnum)) return false;
  // Remove all dashes for the checksum 
  //checks to eliminate negative numbers
  ccnum = ccnum.split("-").join("");
  // Checksum ("Mod 10")
  // Add even digits in even length strings 
  //or odd digits in odd length strings.
  var checksum = 0;
  for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
   checksum += parseInt(ccnum.charAt(i-1));
  }
  // Analyze odd digits in even length strings
  //or even digits in odd length strings.
  for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
   var digit = parseInt(ccnum.charAt(i-1)) * 2;
   if (digit < 10) { checksum += digit; }
   else { checksum += (digit-9); }
  }
  if ((checksum % 10) == 0) return true; else return false;
}

希望本文所述对大家的javascript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP实现通过Luhn算法校验信用卡卡号是否有效,包括了PHP实现通过Luhn算法校验信用卡卡号是否有效的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下: 运行结果 下面是一个更为简洁的代码: 输出结果如下 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍SpringBoot实现短信验证码校验方法思路详解,包括了SpringBoot实现短信验证码校验方法思路详解的使用技巧和注意事项,需要的朋友参考一下 有关阿里云通信短信服务验证码的发送,请参考我的另一篇文章   Springboot实现阿里云通信短信服务有关短信验证码的发送功能 思路 用户输入手机号后,点击按钮获取验证码。并设置冷却时间,防止用户频繁点击。 后台生成验证码并发送到用户

  • 说明 此协议用于用微信卡代替实体卡刷卡时,验证发送给客户微信的验证码,需要先调用协议5.4发送验证码。 请求地址 http://api.dc78.cn/Api/mb_checkvcode 请求方式 GET 请求参数 参数 参数名称 必填 描述 范例 id 微信卡id 是 code 验证码 是 amt 交易金额 否 传入金额可以验证与发送验证码时的金额是否匹配 pwd 通卡密码 是 当会员卡为通卡时

  • 此协议用于用微信卡代替实体卡刷卡时,验证发送给客户微信的验证码,需要先调用协议5.4发送验证码。 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 mb_checkvcode string get GET参数组,本组参数需要参与签名 是 object └mbno 会员卡号 否 15696132602 numb

  • 本文向大家介绍微信小程序实现表单校验功能,包括了微信小程序实现表单校验功能的使用技巧和注意事项,需要的朋友参考一下 小程序SDK版本 1.4 表单校验之难 如果要问微信小程序最难实现的公共业务是什么?应该是表单校验,没有之一。原因如下: 表单组件在数量上达到11个,居各类组件之首。当然幸运的是,并不是所有的都需要校验。 而这些组件操作方式多样,可分为滑动、(多行)输入、点击、点击+滑动。 即使是同

  • 本文向大家介绍javascript笛卡尔积算法实现方法,包括了javascript笛卡尔积算法实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript笛卡尔积算法实现方法。分享给大家供大家参考。具体分析如下: 这里可根据给的对象或者数组生成笛卡尔积 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍基于javascript简单实现对身份证校验,包括了基于javascript简单实现对身份证校验的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了javascript简单实现对身份证的校验的关键性代码,分享给大家供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家实现javascript身份证校验有所帮助。

  • 本文向大家介绍php实现用于验证所有类型的信用卡类,包括了php实现用于验证所有类型的信用卡类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现用于验证所有类型的信用卡类。分享给大家供大家参考。具体如下: 这个php类比较完整,可以用于验证各种不同的信用卡,针对信用卡的卡号的通用规则进行了验证,同时对不同类型的信用卡进行了针对性的识别。 代码接受一个信用卡号码和有效日期,如果两者都