直播app源码,进行身份验证时,检测身份证位数够不够
直播app源码,进行身份验证时,检测身份证位数够不够实现的相关代码
1 | private function is_idcard( $vStr ) {<br> $vCity = array ( '11' , '12' , '13' , '14' , '15' , '21' , '22' , '23' , <br> '31' , '32' , '33' , '34' , '35' , '36' , '37' , '41' , '42' , '43' , <br> '44' , '45' , '46' , '50' , '51' , '52' , '53' , '54' , '61' , '62' , <br> '63' , '64' , '65' , '71' , '81' , '82' , '91' );<br> if (!preg_match( '/^(\d{17}[xX\d]|\d{15})$/' , $vStr )) return false;<br> if (!in_array( substr ( $vStr , 0, 2), $vCity )) return false;<br> $vStr = preg_replace( '/[xX]$/i' , 'a' , $vStr );<br> $vLength = strlen ( $vStr );<br> if ( $vLength == 18) {<br> $vBirthday = substr ( $vStr , 6, 4) . '-' . <br> substr ( $vStr , 10, 2) . '-' . substr ( $vStr , 12, 2);<br> } else {<br> $vBirthday = '19' . substr ( $vStr , 6, 2) . '-' . <br> substr ( $vStr , 8, 2) . '-' . substr ( $vStr , 10, 2);<br> }<br> if ( date ( 'Y-m-d' , strtotime ( $vBirthday )) != $vBirthday ) return false;<br> if ( $vLength == 18) {<br> $vSum = 0;<br> for ( $i = 17; $i >= 0; $i --) {<br> $vSubStr = substr ( $vStr , 17 - $i , 1);<br> $vSum += (pow(2, $i ) % 11) * (( $vSubStr == 'a' ) ? 10 : intval ( $vSubStr , 11));<br> }<br> if ( $vSum % 11 != 1) return false;<br> }<br> return true;<br> } //1*945523972 |
以上就是 直播app源码,进行身份验证时,检测身份证位数够不够实现的相关代码,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现