C语言信用卡验证程序,信用卡效验程序

2023-11-05 19:40

本文主要是介绍C语言信用卡验证程序,信用卡效验程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

信用卡效验程序

更新时间:2006年10月09日 00:00:00   作者:

//                                                //

// Credit card validation routine                 //

// May 15, 2000                                   //

// By ariso                                       //

// validateCardCode($number[,$cardtype])          //

function validateCardCode($cardnumber, $cardtype =  'unknown')

{

//Clean up input

$cardtype = strtolower($cardtype);

$cardnumber = ereg_replace( '[-[:space:]]',  '',$cardnumber);

//Do type specific checks

if ($cardtype ==  'unknown') {

//Skip type specific checks

}

elseif ($cardtype ==  'mastercard'){

if (strlen($cardnumber) != 16 || !ereg( '5[1-5]', $cardnumber)) return 0;

}

elseif ($cardtype ==  'visa'){

if ((strlen($cardnumber) != 13 && strlen($cardnumber) != 16) || substr($cardnumber, 0, 1) !=  '4')

return 0;

}

elseif ($cardtype ==  'amex'){

if (strlen($cardnumber) != 15 || !ereg( '3[47]', $cardnumber)) return a;

}

elseif ($cardtype ==  'discover'){

if (strlen($cardnumber) != 16 || substr($cardnumber, 0, 4) !=  '6011') return 0;

}

else {

//invalid type entered

return -1;

}

// Start MOD 10 checks

$dig = toCharArray($cardnumber);

$numdig = sizeof ($dig);

$intIntJ = 0;

for ($intI=($numdig-2); $intI>=0; $intI-=2){

$dbl[$intIntJ] = $dig[$intI] * 2;

$intIntJ++;

}

$dblsz = sizeof($dbl);

$validate =0;

for ($intI=0;$intI

$add = toCharArray($dbl[$intI]);

for ($intIntJ=0;$intIntJ

$validate += $add[$intIntJ];

}

$add =  '';

}

for ($intI=($numdig-1); $intI>=0; $intI-=2){

$validate += $dig[$intI];

}

if (substr($validate, -1, 1) ==  '0') return 1;

else return 0;

}

// takes a string and returns an array of characters

function toCharArray($intInput){

$len = strlen($intInput);

for ($intIntJ=0;$intIntJ

$char[$intIntJ] = substr($intInput, $intIntJ, 1);

}

return ($char);

}

?>

相关文章

1a1b05c64693fbf380aa1344a7812747.png

PHP新手上路(十)...2006-10-10

4f55910a645b073bc4fc65dc10dc14bd.png

怎样在UNIX系统下安装MySQL...2006-10-10

0ea3c7666119d5615e582f823fb3fad6.png

定制404错误页面,并发信给管理员的程序...2006-10-10

4f96a78db829b1556ff16de21e013c7a.png

转换中文日期的PHP程序...2006-10-10

8cc1031babc6aff2319f1c6af8544aa0.png

这篇文章主要介绍了PHP mysql_result()函数使用方法,需要的朋友可以参考下2017-11-11

0c932a99bb7b6f23c937db507070cc7b.png

PHP的目录、文件操作是很简单的,本章用的是windows的服务器,目录名为GBK编码,文件内容为UTF-8编码。这样一目了然。2010-11-11

cca732bf65a93ed2ec0ac80c638460fe.png

PHP4实际应用经验篇(6)...2006-10-10

2d9f31f2af7b675a3d153d2b7f1035a7.png

PHP新手上路(三)...2006-10-10

b452cee8ec5cd9e58ab98eba17281e59.png

第七节--类的静态成员...2006-11-11

f4838ec7e2d4da28e0b57d4e852dadd4.png

在IIS上安装PHP4.0正式版...2006-10-10

最新评论

这篇关于C语言信用卡验证程序,信用卡效验程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/352074

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX