
u01151611202-27 15:52
等级
3楼
银行卡号一般15位或19位,第一位不为0吧
$str = '6228480402564890018';
preg_match('/^([1-9]{1})(\d{14}|\d{18})$/', $str,$match);
print_r($match[0]);
每隔指定字符长度分割字符串//银行卡号格式化
qq_3996169508-24 14:51
等级
4楼
银行卡号没有存在15位的明知是过来纠正一下,希望不要误导
、银行卡 js正则校验
a855889202-28 17:39
等级
5楼
引用4楼qq_39961695的回复:银行卡号没有存在15位的明知是过来纠正一下,希望不要误导
银行转账到公司的对公账号或法人账号,或银联支付宝支付。中国邮政储蓄银行的卡号是由19位数字组成的,是16位数字,存折账号由18位数字组成。另外一个银行的和贷记卡的卡号位数一般不一样js验证qq的正则表达式,带银联标志的卡以62258开头,是16位到19位不等。
iOS 正则表达式判断格式以及银行卡号格式是否正确
qq_4179109003-05 16:01
等级
6楼
//调用
if($_POST['idcar']){
if($this->validation_filter_id_card($_POST['idcar'])){
$array['idcar']=$_POST['idcar'];

}else{
echojson_encode(array('status'=>0,'msg'=>'错误'));
exit();
}
}
//验证方法
functionvalidation_filter_id_card($id_card){
if(strlen($id_card)==18){
return$this->idcard_checksum18($id_card);
}elseif((strlen($id_card)==15)){
$id_card=$this->idcard_15to18($id_card);
return$this->idcard_checksum18($id_card);
}else{
returnfalse;
}
}
//计算校验码,根据国家标准GB11643-1999
functionidcard_verify_number($idcard_base){
if(strlen($idcard_base)!=17){
returnfalse;

}
//加权因子
$factor=array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
//校验码对应值
$verify_number_list=array('1','0','X','9','8','7','6','5','4','3','2');
$checksum=0;
for($i=0;$i<strlen($idcard_base);$i++){
$checksum+=substr($idcard_base,$i,1)*$factor[$i];
}
$mod=$checksum;
$verify_number=$verify_number_list[$mod];
return$verify_number;
}
//将15位升级到18位
functionidcard_15to18($idcard){
if(strlen($idcard)!=15){
returnfalse;
}else{
//如果顺序码是996997998999,这些是为百岁以上老人的特殊编码
if(array_search(substr($idcard,12,3),array('996','997','998','999'))!==false){

$idcard=substr($idcard,0,6).'18'.substr($idcard,6,9);
}else{
$idcard=substr($idcard,0,6).'19'.substr($idcard,6,9);
}
}
$idcard=$idcard.$this->idcard_verify_number($idcard);
return$idcard;
}
//18位校验码有效性检查
functionidcard_checksum18($idcard){
if(strlen($idcard)!=18){
returnfalse;
}
$idcard_base=substr($idcard,0,17);
if(idcard_verify_number($idcard_base)。if ( parseint(idcard.substr(6,4)) % 4 == 0 || (parseint(idcard.substr(6,4)) % 100 == 0 && parseint(idcard.substr(6,4))%4 == 0 )){。if (parseint(idcard.substr(6, 4)) % 4 == 0 || (parseint(idcard.substr(6, 4)) % 100 == 0 && parseint(idcard.substr(6, 4)) % 4 == 0)) {。
returnfalse;
}else{
returntrue;
}
}

Java之——基于Luhn算法的银行卡卡号的格式校验
cngdjws03-10 14:06
等级
7楼
做个记录吧!
JS正则-银行卡每输入四位自动空格
qlkj66603-12 08:34
等级
8楼
现在每个银行发出的卡号各类太多js验证qq的正则表达式,只能大概判断一下数字
qq_2767713709-30 11:24
等级
9楼
传说中有9位的卡号,据说是一种身份的象征
验证银行卡卡号是否符合规则
a522535412-22 01:40
等级
10楼
引用9楼qq_27677137的回复:传说中有9位的卡号,据说是一种身份的象征
是有9位的卡号,不过那种是很久很久以前的卡号
其实现在的IC卡号一般是15位以上,低于15位的一般是以前的磁条卡
银行卡号Luhm校验Java实现代码
jimbooks06-09 16:06
等级11楼
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-106261-1.html
是祖宗留下来的经验
活蛆不可能死蛆呢