php银行卡验证

1.实现代码如下

        /**
	 * 验证银行卡号
	 * @param  string $bankCardNo 银行卡号
	 * @return bool             是否合法(true:合法,false:不合法)
	 */
	function checkBankCard($bankCardNo){
        $strlen = strlen($bankCardNo);
        if($strlen < 15 || $strlen > 19){
            
        	return false;
        }

        if (!preg_match("/^\d{15}$/i",$bankCardNo) && !preg_match("/^\d{16}$/i",$bankCardNo) &&
         !preg_match("/^\d{17}$/i",$bankCardNo) && !preg_match("/^\d{18}$/i",$bankCardNo) && 
         !preg_match("/^\d{19}$/i",$bankCardNo)) {
            
        	return false;
        }

        $arr_no = str_split($bankCardNo);
        $last_n = $arr_no[count($arr_no)-1];
        krsort($arr_no);
        $i = 1;
        $total = 0;
        foreach ($arr_no as $n){
            if($i%2==0){
                $ix = $n*2;
                if($ix>=10){
                    $nx = 1 + ($ix % 10);
                    $total += $nx;
                }else{
                    $total += $ix;
                }
            }else{
                $total += $n;
            }
            $i++;
        }
        $total -= $last_n;
        $x = 10 - ($total % 10);
        if($x != $last_n){
            
            return false;
        }

        return true;
	}
时间: 2024-12-14 17:42:48

php银行卡验证的相关文章

银行卡验证接口API(仅需一行代码,实现全国银行卡核验)

银行卡确认在互联网越来越普及,在二手.电商.贷款.等主流互联网应用中都有明确的刚需,传统的 银行卡核验方式是用户上传图片,客服后台人肉审核,但问题在于根本无从确认 银行卡的真实性,也不能确认该 银行卡持有人和身份证的契合关系. 今天谈的是对接全国银行进行实时银行卡认证的银行卡核验系统,需要的请求值包括:姓名.身份证号.银行卡号.手机号 代码很简单,向七侠犬服务器发起以下WEB请求: https://api.7xq.com/bandCard?name=姓名&no=身份证号码&mobile=手

表单验证之正则表达式

1.    手机号验证 经网络查询可知,中国三大运营商号码波段主要有: (1).    移动号段: 134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188 (2).    联通号段: 130 131 132 145 155 156 171 175 176 185 186 (3).    电信号段: 133 149 153 173 177 180 181 189 虚拟运营商: 170 因此设定手机号验证

破坏网络可信身份认证,黑灰产业链正在兴起

<2015网络可信身份发展年报> 阿里移动安全 第一章  2015年网络可信身份发展现状 1.1 网络可信身份发展的需求产生新的变化 2002年我国开始了网络实名制建设的探讨,其本质目的在于保障网络空间用户身份可信,避免谣言.欺诈等各种违法犯罪行为.在多年的实践中,网络平台或用户开展网络身份认证主要出于以下两方面的要求: 一方面,国家相关职能部门为保证行业健康有序的发展,要求从事经营或服务***质的互联网用户进行必要的身份认证,如电子商务的经营者(网店主).互联网接入服务提供者(域名注册.网络

网络征信技术接口(架构篇)

随着电商.金融业和移动互联网的普及,个人身份画像较十年前有了跨越式的发展. 十几年前仅能获取到网友的发帖回帖记录.QQ等级,而对涉及到金融的消费类数据基本无从下手,产业还没有实现规模化,也就无法谈数据源的普适度. 今天是很好的时代.网银接口.社保接口.公积金接口.淘宝消费接口.京东消费接口.外卖消费接口.滴滴打车接口.身份证接口.银行卡验证接口.手机运营商接口,都已经完善到足以产业化,这类数据在十几年前基本是不可想象的. 要满足以上各种征信数据,需要大量的研发人员,大量的开发时间,并耗费大量的成

使用spring+html5实现安全传输随机数字密码键盘

随着互联网的飞跃式发展,移动支付已越来越受欢迎并且已成为常态,很多三方支付公司推出了很多支付方式如快捷支付.认证支付. 扫码支付等等.快捷支付和认证支付可分为移动app控件和移动HTML5网页.用户第一次使用快捷支付或认证支付进行支付的时候,需先绑定 银行卡.在绑定银行卡的过程中,需要验证银行卡信息.不同银行.不同银行卡验证的要素不一样,有些需要验证四要素,有的需要验证八要 素.对于需要验证银行卡的交易密码的情况,怎样保证交易密码的安全不被别人所窃取呢?为了保证交易密码不在传输过程中被窃取,出现

《面向对象葵花宝典》阅读笔记

满满的干货!推荐大家购买的一本书,里面很多的内容,都是我编程过程经历过的困惑(相信大家都会遇到),如果早点看到这本书,相信当时我也不会困惑那么久了~所以记录总结一下. PS.欲看此书,不必自宫…… 面向对象理论面向过程与面向对象为什么要面向对象类对象接口抽象类抽象封装继承多态需求模型需求分析518方法,我要发~用例方法要画UML图吗?功能提取领域模型设计模型类模型动态模型实现模型设计原则内聚耦合高内聚低耦合设计模式面向对象架构设计业务架构领域架构软件建构面向对象架构设计技巧原则拆与合 面向对象理

Atitit.注册跟个登录功能的实现attilax总结obo

1. 注册模块 2 1.1. 基本注册功能(用户名方式) 2 1.2. 动态ajax监测用户名重复 2 1.3. 注册手机验证 2 1.4. 電子郵件激活 3 1.5. 批量注册ip暂时禁止 3 1.6. 图片验证码 3 1.7. 密码黑名单功能 3 1.8. 高级加密用户密码存储(SHA1) 3 1.9. 可恢复的加密用户密码存储(AES加密) 3 1.10. 显示密码功能 3 1.11. 短信验证码 3 1.12. 安全问答 3 1.13. 注册时邮箱验证 3 1.14. 注册后同时自动登陆

在php中使用对称加密DES3,开发银行卡绑定,实名验证……

对称加密:对称加密是一种数据加密算法,对一组数据的加密和解密都使用一样的密钥(key),可以有效保护金融数据,常见的对称加密有DES,3DES,AES.RC2.RC4.RC5. DES3: 对DES算法的组合,指定3个KEY,运算3次DES,密钥KEY的总字符长度为24位. 说明: 接触这个主要是最近对接一个第三方的支付平台,调用他们的银行卡,证件,姓名的鉴权接口,需要对一些特殊数字(银行卡号,身份证号)进行DES加密,再进行签名请求.其实这个主要就是用来做银行卡绑定或者实名验证的. 流程: 1

制作一个银行卡用户登录页面,提交后连接数据库进行登录验证,根据验证结果跳转到不同页面

Login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo