php如何实现银行卡验证
admin
2023-06-17 12:02:04
0

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;
	}

上一篇:php验证手机号

下一篇:PHP函数初识(1)

相关内容

热门资讯

清华大学教授吴华强称华为韬定律... 5 月 27 日消息,在 5 月 25 日召开的 2026 国际电路与系统研讨会上,。这是中国企业在...
2026年生物多样性保护和可持... 河南日报讯 (全媒体记者 吴倩 李世杰 通讯员 赵亚虹 史娆)5月22日是第26个国际生物多样性日。...
文润天山 豫疆同辉丨豫疆万里情 “辕门外三声炮如同雷震……”在新疆哈密市豫哈第三实验学校的教室里,稚嫩而清脆的童声每周都会准时响起。...
“日方想让中美俄都同意,难” 【文/观察者网 王一】联合国围绕《不扩散核武器条约》(NPT)未来走向的最新一轮审议会议日前无果而终...
国网河南电力牵头立项发布无人机... 如何让智慧城市、智慧社区中的能源管理系统安全规范运行?怎样更好保障无人机在智慧城市中规模化、智能化充...
130万条业主信息被倒卖 警方... 【大河财立方消息】公安部网安局5月27日消息,近日,四川成都网安部门重拳出击,成功破获一起特大侵犯公...
黄河科技学院参加第64届中国高... 5月22-24日,由中国高等教育学会主办的第64届中国高等教育博览会在南昌绿地国际博览中心举行。黄河...
千里姻缘“衣”线牵 安阳市北关区柏庄镇一家服装加工企业内,工人正在赶制服装订单。 张瞾 摄5月8日,浙江省湖州市吴兴区织...
拜登起诉美司法部 据彭博社、美国广播公司(ABC)等媒体报道,美国前总统拜登当地时间26日起诉美国司法部,以阻止官员们...
“河南造”再建功 神舟飞天背后... 河南日报讯 (全媒体记者 范坤鹏)5月24日23时08分,搭载神舟二十三号载人飞船的长征二号F遥二十...