亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

php 驗(yàn)證 手機(jī)號(hào)碼

Michael_Ding / 1553人閱讀

摘要:校驗(yàn)位按照的規(guī)定生成,可以認(rèn)為是數(shù)字。如果你只需要簡(jiǎn)單的校驗(yàn)身份證號(hào)碼的話,你只需要使用我上面的正則規(guī)則進(jìn)行校驗(yàn)即可,如果需要嚴(yán)格校驗(yàn)的話,可以使用我上面的驗(yàn)證方法來進(jìn)行校驗(yàn)

最近公司讓我將身份證校驗(yàn)改為嚴(yán)格校驗(yàn),剛開始我使用了網(wǎng)上找到的身份證正則校驗(yàn)進(jìn)行校驗(yàn):

/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/

但是,老板說這個(gè)校驗(yàn)沒有進(jìn)行嚴(yán)格的身份證校驗(yàn),這個(gè)校驗(yàn)只校驗(yàn)了身份證的格式是否正確,無法判斷身份證號(hào)碼格式是否正確

下面為嚴(yán)格校驗(yàn)身份證號(hào)碼的校驗(yàn)方法:

/**
     * function: checkNum
     * author: wangjian
     * date: 2019/4/16 15:21
     * 檢測(cè)身份證號(hào)是否正確
     */
    function checkNum($num_id)
    {
        $num_id = strtoupper($num_id);
        $regx = "/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/";
        $arr_split = array();
        if(!preg_match($regx, $num_id))
        {
            return FALSE;//正則校驗(yàn)
        }
        if(15==strlen($num_id)) //檢查15位
        {
            $regx = "/^(d{6})+(d{2})+(d{2})+(d{2})+(d{3})$/";
            @preg_match($regx, $num_id, $arr_split);
            //檢查生日日期是否正確
            $dtm_birth = "19".$arr_split[2] . "/" . $arr_split[3]. "/" .$arr_split[4];
            if(!strtotime($dtm_birth))
            {
                return FALSE;
            } else {
                return TRUE;
            }
        }
        else      //檢查18位
        {
            $regx = "/^(d{6})+(d{4})+(d{2})+(d{2})+(d{3})([0-9]|X)$/";
            @preg_match($regx, $num_id, $arr_split);
            $dtm_birth = $arr_split[2] . "/" . $arr_split[3]. "/" .$arr_split[4];
            if(!strtotime($dtm_birth)) //檢查生日日期是否正確
            {
                return FALSE;
            }
            else
            {
                //檢驗(yàn)18位身份證的校驗(yàn)碼是否正確。
                //校驗(yàn)位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。
                $arr_int = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
                $arr_ch = array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
                $sign = 0;
                for ( $i = 0; $i < 17; $i++ )
                {
                    $b = (int) $num_id{$i};
                    $w = $arr_int[$i];
                    $sign += $b * $w;
                }
                $n = $sign % 11;
                $val_num = $arr_ch[$n];
                if ($val_num != substr($num_id,17, 1))
                {
                    return FALSE;
                }
                else
                {
                    return TRUE;
                }
            }
        }
    }

如果你只需要簡(jiǎn)單的校驗(yàn)身份證號(hào)碼的話,你只需要使用我上面的正則規(guī)則進(jìn)行校驗(yàn)即可,如果需要嚴(yán)格校驗(yàn)的話,可以使用我上面的驗(yàn)證方法來進(jìn)行校驗(yàn)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/31280.html

相關(guān)文章

  • 如何優(yōu)雅的設(shè)計(jì)PHP異常

    摘要:現(xiàn)在我就用框架來進(jìn)行實(shí)戰(zhàn)下在實(shí)際業(yè)務(wù)中是如何優(yōu)雅的使用異常的場(chǎng)景描述選擇一個(gè)比較簡(jiǎn)單的業(yè)務(wù)場(chǎng)景,以登錄模塊為例,用戶在移動(dòng)端進(jìn)行登錄時(shí),需要進(jìn)行登錄,注冊(cè),忘記密碼,獲取手機(jī)驗(yàn)證碼等接口。 前言 剛開始接觸PHP的時(shí)候沒有意識(shí)到異常的重要性,有時(shí)候出問題很難精確的找到問題點(diǎn),正確的處理異常也是一門學(xué)問 異常的類別 PHP7異常做了很多變動(dòng),異常類 Exception 和錯(cuò)誤類 Erro...

    wing324 評(píng)論0 收藏0
  • 【日常手記】之Laravel5.3

    摘要:個(gè)人網(wǎng)站最近剛寫了一個(gè)手機(jī)在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復(fù)用的約束集合,方便鏈?zhǔn)秸{(diào)用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應(yīng)用中復(fù)用。 關(guān)于作者 程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud混合式開發(fā)。合適和夠用是最完美的追求。 個(gè)人網(wǎng)站:...

    kidsamong 評(píng)論0 收藏0
  • Laravel SMS 短信發(fā)送包

    摘要:支持短信驗(yàn)證碼未驗(yàn)證時(shí),用戶再次請(qǐng)求驗(yàn)證碼,在有效分鐘內(nèi)驗(yàn)證碼保持一致。集成短信發(fā)送路由,支持和發(fā)送方式。有效期為分鐘,請(qǐng)盡快驗(yàn)證。 Laravel Sms Laravel 貼合實(shí)際需求同時(shí)滿足多種通道的短信發(fā)送組件 showImg(https://segmentfault.com/img/remote/1460000013101233);showImg(https://segment...

    Seay 評(píng)論0 收藏0
  • 如何在 Laravel 中 “規(guī)范” 的開發(fā)驗(yàn)證碼發(fā)送功能【社交系統(tǒng)ThinkSNS研發(fā)日記十一】

    摘要:需求場(chǎng)景發(fā)送驗(yàn)證碼或者消息通知,可發(fā)送到手機(jī)或郵箱中。完成首先,在中的規(guī)范就是使用的消息通知,這里基于場(chǎng)景為驗(yàn)證碼。所以我們?cè)隍?yàn)證碼模型中添加是完全符合通知的正確使用的。 順便發(fā)個(gè)小通知:7月15日ThinkSNS+開源版發(fā)布,同時(shí)非開源的APP也走出內(nèi)測(cè)階段,體驗(yàn)二維碼也全面發(fā)布體驗(yàn)。 什么是ThinkSNS ? ThinkSNS(簡(jiǎn)稱TS),一款全平臺(tái)綜合性社交系統(tǒng),為國內(nèi)外大中小...

    Flands 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<