'require|integer', 'buyer_photo_id'=>'require|integer', 'bank_district_id'=>'require|integer', 'bank_id'=>'require|integer', 'bank_detail'=>'require|chsAlphaNum', 'bank_num'=>'require|isBankNum', 'true_name'=>'require|chs', 'id_card_num'=>'require|idCard', ]; protected $message=[ 'id_card_id.require'=>'请上传身份证扫描件', 'id_card_id.integer'=>'请上传正确的身份证扫描件', 'buyer_photo_id.require'=>'请上传手势认证图', 'buyer_photo_id.integer'=>'请上传正确的手势认证图', 'bank_district_id.require'=>'请选择银行卡所在地区', 'bank_district_id.integer'=>'请选择银行卡所在地区', 'bank_id.require'=>'请选择银行卡开户行', 'bank_id.integer'=>'请选择银行卡开户行', 'bank_detail.require'=>'请填写银行卡支行名称', 'bank_detail.chsAlphaNum'=>'请正确填写银行卡支行名称', 'bank_num.require'=>'请填写收款银行卡卡号', 'true_name.require'=>'请填写您的真实姓名', 'true_name.chs'=>'请正确填写您的真实姓名', 'id_card_num.require'=>'请填写您的身份证号码', 'id_card_num.idCard'=>'请正确填写您的身份证号码', ]; protected function isBankNum($value) { $arr_no = str_split($value); $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 true; }else{ return '请输入正确的收款银行卡号'; } } }