Go语言通过Luhn算法验证信用卡卡号是否有效的方法
本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下:
package main
import (
"fmt"
"strings"
)
const input = `49927398716
49927398717
1234567812345678
1234567812345670`
var t = [...]int{0, 2, 4, 6, 8, 1, 3, 5, 7, 9}
func luhn(s string) bool {
odd := len(s) & 1
var sum int
for i, c := range s {
if c < '0' || c > '9' {
return false
}
if i&1 == odd {
sum += t[c-'0']
} else {
sum += int(c - '0')
}
}
return sum%10 == 0
}
func main() {
for _, s := range strings.Split(input, "\n") {
fmt.Println(s, luhn(s))
}
}
输出结果
49927398716 true
49927398717 false
1234567812345678 false
1234567812345670 true
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
PHP实现通过Luhn算法校验信用卡卡号是否有效
本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法.分享给大家供大家参考.具体实现方法如下: $numbers = "49927398716 49927398717 1234567812345678 1234567812345670"; foreach (split(' ', $numbers) as $n) echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>'; fu
-
iOS 中使用正则表达式判断身份证格式及银行卡号格式是否正确(推荐)
1.有时候我们会用到上传身份证号,或者银行卡号,这个时候就需要我们对身份证号以及银行卡号,进行基本的判断. 下面便是身份证号的判断返回YES是合法,反之不合法 #pragma mark 判断身份证号是否合法 - (BOOL)judgeIdentityStringValid:(NSString *)identityString { if (identityString.length != 18) return NO; // 正则表达式判断基本 身份证号是否满足格式 NSString *regex2
-
判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)
开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS代码: /** * 银行卡格式校验 * * @param cardNo 银行卡号 * * @return */ + (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int al
-
Go语言通过Luhn算法验证信用卡卡号是否有效的方法
本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "strings" ) const input = `49927398716 49927398717 1234567812345678 1234567812345670` var t = [...]int{0, 2, 4, 6, 8, 1, 3, 5, 7, 9}
-
Python3通过Luhn算法快速验证信用卡卡号的方法
本文实例讲述了Python3通过Luhn算法快速验证信用卡卡号的方法.分享给大家供大家参考.具体分析如下: Python3通过Luhn算法快速验证信用卡卡号,python用起来就是爽,很简单的三行代码就可以验证信用卡卡号是否有效 def luhn_check(num): ''' Number - List of reversed digits ''' digits = [int(x) for x in reversed(str(num))] check_sum = sum(digits[::2]
-
VB.NET实现验证信用卡卡号
VB.NET代码验证信用卡卡号是否正确,本代码使用luhn算法验证 Dim creditCardNumber As String creditCardNumber = "1234567891234563" '这里请自行输入你要验证的号码 If creditCardNumber.Length < 16 Then Page.ClientScript.RegisterStartupScript(Me.GetType(), "dd", "alert('错误数
-
PHP验证信用卡卡号是否正确函数
可以使用以下PHP函数,验证一个卡号是否是信用卡: function validateCard ( $cardnumber ) { $cardnumber = preg_replace ( " /\D|\s/ " , "" , $cardnumber ) ; # strip any non-digits $cardlength = strlen ( $cardnumber ) ; if ( $cardlength != 0 ) { $parity = $cardle
-
Python随机生成信用卡卡号的实现方法
本文实例讲述了Python随机生成信用卡卡号的实现方法.分享给大家供大家参考.具体分析如下: 这段Python代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负. #!/usr/bin/python """ gencc: A simple program to generate credit card numbers that pass the MOD 10 check (Luhn formula). Usefull
-
PHP随机生成信用卡卡号的方法
本文实例讲述了PHP随机生成信用卡卡号的方法.分享给大家供大家参考.具体分析如下: 这段PHP代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负. <?php /* PHP credit card number generator Copyright (C) 2006 Graham King graham@darkcoding.net This program is free software; you can redistribute
-
JavaScript随机生成信用卡卡号的方法
本文实例讲述了JavaScript随机生成信用卡卡号的方法.分享给大家供大家参考.具体分析如下: 这段JS代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负. var visaPrefixList = new Array( "4539", "4556", "4916", "4532", "4929", "40240071", &
-
C语言基本排序算法之插入排序与直接选择排序实现方法
本文实例讲述了C语言基本排序算法之插入排序与直接选择排序实现方法.分享给大家供大家参考,具体如下: 声明待排序元素类型 /*-------------------------- typedef.h 方便修改待排序元素类型 -------------------------------------*/ #ifndef TYPEDEF_H #define TYPEDEF_H typedef int T; #endif 插入排序: /*---------------------------------
-
Python OpenCV招商银行信用卡卡号识别的方法
学在前面 从本篇博客起,我们将实际完成几个小案例,第一个就是银行卡号识别,预计本案例将写 5 篇左右的博客才可以完成,一起加油吧. 本文的目标是最终获取一套招商银行卡,0~9 数字的图,对于下图的数字,我们需要提取出来,便于后续模板匹配使用.不过下图中找到的数字不完整,需要找到尽量多的卡片,然后补齐这些数字. 提取卡片相关数字 先对上文中卡片中的数字进行相关提取操作,加载图片的灰度图,获取目标区域.在画板中模拟一下坐标区域,为了便于进行后续的操作. 具体代码如下: import cv2 as c
随机推荐
- PostgreSQL教程(九):事物隔离介绍
- C#操作SQLite方法实例详解
- AngularJS 过滤与排序详解及实例代码
- ubbcode简单实用
- Java微信公众平台开发(2) 微信服务器post消息体的接收
- IOS 通讯录的访问和修改的实现
- Effective Java (异常处理)
- urllib2自定义opener详解
- 使用python实现正则匹配检索远端FTP目录下的文件
- 使用ASP.NET操作IIS7中应用程序
- 解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
- C语言菜鸟基础教程之判断
- 基于Bootstrap里面的Button dropdown打造自定义select
- mysql安装时出现各种常见问题的解决方法
- 修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
- JQuery操作Select的Options的Bug(IE8兼容性视图模式)
- VC++ 使用 _access函数判断文件或文件夹是否存在
- 跨浏览器的事件对象介绍
- jQuery easyui datagrid动态查询数据实例讲解
- 日常收藏的jquery技巧