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语言程序设计有所帮助。
相关推荐
-
iOS 中使用正则表达式判断身份证格式及银行卡号格式是否正确(推荐)
1.有时候我们会用到上传身份证号,或者银行卡号,这个时候就需要我们对身份证号以及银行卡号,进行基本的判断. 下面便是身份证号的判断返回YES是合法,反之不合法 #pragma mark 判断身份证号是否合法 - (BOOL)judgeIdentityStringValid:(NSString *)identityString { if (identityString.length != 18) return NO; // 正则表达式判断基本 身份证号是否满足格式 NSString *regex2
-
PHP实现通过Luhn算法校验信用卡卡号是否有效
本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法.分享给大家供大家参考.具体实现方法如下: $numbers = "49927398716 49927398717 1234567812345678 1234567812345670"; foreach (split(' ', $numbers) as $n) echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>'; fu
-
判断用户输入的银行卡号是否正确的方法(基于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
随机推荐
- java 逐行读取txt文本如何解决中文乱码
- 关于IE11修改User-agent不再支持document.all等
- python连接mysql并提交mysql事务示例
- jQuery bind事件使用详解
- ajax+json+Struts2实现list传递实例讲解
- 原生js实现水平方向无缝滚动
- 提高针打的打印质量的技巧
- Objective-C编程中语句和变量的一些编写规范建议
- java的Map集合中按value值进行排序输出的实例代码
- 使用php实现网站验证码功能【推荐】
- iOS应用开发中使用NSLocale类实现对象信息的本地化
- ASP.NET Session的七点认识小结
- 利用Ffmpeg获得flv视频缩略图和视频时间的代码
- python实现的一个火车票转让信息采集器
- php查看session内容的函数
- Python批量修改文本文件内容的方法
- 将HTML的左右尖括号等转义成实体形式的两种实现方式
- 老生常谈JavaScript 正则表达式语法
- jquery实现的代替传统checkbox样式插件
- 微信小程序 sha1 实现密码加密实例详解
