≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php 验证信用卡卡号的简单示例

人气:565 时间:2018-09-22

这篇文章主要为大家详细介绍了php 验证信用卡卡号的简单示例,具有一定的参考价值,可以用来参考一下。

对php验证信用卡卡号代码感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
php验证信用卡卡号代码,可以用来验证普通信用卡,visa,master等信用卡,采用了Luhn算法

/**
 * php验证信用卡卡号代码
 *
 * @param 
 * @arrange 512-笔记网: www.q1010.com
 **/
// This function will take a credit card number and check to make sure it
// contains the right amount of digits and uses the Luhn Algorithm to
// weed out made up numbers
function validateCreditcard_number($credit_card_number)
{
	// Get the first digit
	$firstnumber = substr($credit_card_number, 0, 1);
	// Make sure it is the correct amount of digits. Account for dashes being present.
	switch ($firstnumber)
	{
		case 3:
			if (!preg_match('/^3\d{3}[ \-]?\d{6}[ \-]?\d{5}$/', $credit_card_number))
			{
				return 'This is not a valid American Express card number';
			}
			break;
		case 4:
			if (!preg_match('/^4\d{3}[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $credit_card_number))
			{
				return 'This is not a valid Visa card number';
			}
			break;
		case 5:
			if (!preg_match('/^5\d{3}[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $credit_card_number))
			{
				return 'This is not a valid MasterCard card number';
			}
			break;
		case 6:
			if (!preg_match('/^6011[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}$/', $credit_card_number))
			{
				return 'This is not a valid Discover card number';
			}
			break;
		default:
			return 'This is not a valid credit card number';
	}
	// Here's where we use the Luhn Algorithm
	$credit_card_number = str_replace('-', '', $credit_card_number);
	$map = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
				0, 2, 4, 6, 8, 1, 3, 5, 7, 9);
	$sum = 0;
	$last = strlen($credit_card_number) - 1;
	for ($i = 0; $i <= $last; $i++)
	{
		$sum += $map[$credit_card_number[$last - $i] + ($i & 1) * 10];
	}
	if ($sum % 10 != 0)
	{
		return 'This is not a valid credit card number';
	}
	// If we made it this far the credit card number is in a valid format
	return 'This is a valid credit card number';
}
echo validateCreditcard_number('4111-1111-1111-1111'); // This is a valid credit card number
echo validateCreditcard_number('4111-1111-1111-1112'); // This is not a valid credit card number
echo validateCreditcard_number('5558-545f-1234');      // This is not a valid MasterCard card number
echo validateCreditcard_number('9876-5432-1012-3456'); // This is not a valid credit card number
/***   来自四海网(www.q1010.com)   ***/

 

本文来自:http://www.q1010.com/173/844-0.html

注:关于php 验证信用卡卡号的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:信用卡

您可能感兴趣的文章

  • php 信用卡识别和验证类用法示例
上一篇:php 找出指定范围内的回文数,且平方根也是回文数
下一篇:PHP 连接到Mongodb的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。